-
Notifications
You must be signed in to change notification settings - Fork 467
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MultiLang Daemon for KCL 2.0 #451
Comments
Redirect normal output to stdout and errors to stderrBackground or information about the requestMaybe I'm ignoring something, but it seems to me that all output is sent to stderr, I would like to be able to distinguish between them. |
FanoutBackground or information about the requestI would like to start implementing this |
DynamoDB Streams support for amazon-kinesis-client-nodejsI want to be able to easily process DynamoDB Streams records with nodejs BackgroundThere is an existing pull request: In production I currently use that pull request and the version of aws-kcl it is based on to process DynamoDB streams. Where I am processing actually Kinesis streams I use a different version of aws-kcl. It would simplify my deployment if I could use the same aws-kcl version for both DynamoDB Streams and Kinesis record processing. Thanks. |
Don't terminate all siblings if a child ungracefully exitsIf a shard worker process exits due to an error, the MLD will terminate all of its siblings. This is inconvenient, and should be unnecessary since processing of different shards should be independent. BackgroundThe only means for a shard worker to indicate a fatal error is to exit. This can be useful for retryable errors in processing (e.g., worker getting into some bad state), with permanent/unretryable error handling being up to the application (e.g., skipping certain records or awaiting operator intervention/bugfixing). Limiting the blast radius of an erroring-out worker would prevent other unrelated shards from being affected. |
Reduce
|
MultiLang Daemon for GoI'd love to have a MultiLang Daemon client library for Go. Background or information about the requestThis can be useful in the following cases:
|
@pfifer Is there a roadmap/timeline for the KCL 2.0 client release(s)? |
Configuration loaded from ENVAllow configuration to be specified through environment variables in addition to the .properties file. Background or information about the requestOur deployment pipeline involves building ECS tasks that we share between a lab and various production environments. Using the environment to specify configuration allows us to share containers between environments and maintain simplicity of deployment. |
I know it's a little late for the 2.0, but this is more of a 3.0ish feature request anyway. Better RPC mechanismThe MLD should expose a websocket, or speak REST to its worker processes. Background or information about the requestThe stdin/stdout protocol is brittle, underdocumented and makes debugging unnecessarily hard. For instance in the node client, without monkey patching you can't do any kind of console logging (which includes any kind of library you are pulling in). For the 4 languages you are targeting, it should be easy to either establish a websocket with the MLD, or if you want to go the other way, require the workers to implement a REST interface via sinatra/express/similar and the MLD can hit it. You could then document it with standard tools, and you would see many (any) more third party client implementations. |
Is there a roadmap for when the .net KCL 2.0 feature will be done? I would love to use .net core to use enhanced fanout but it is my understanding you have to be using the KCL 2.0 which isn't yet available for .net. |
We intend to update the MultiLang Daemon for KCL 2.0. As part of this update we are considering incorporating other enhancements like those previously requested. With this update all MultiLang clients (amazon-kinesis-client-python, amazon-kinesis-client-nodejs, amazon-kinesis-client-ruby, amazon-kinesis-client-net) are likely to be released with a new major version.
If you have a feature or change request please comment on this issue using the template below. If a request is not included in the initial release we will prioritize it accordingly for future releases. If you're responding to an existing proposal please reference the specific post.
Please add reactions to any of the features or changes proposed, this will aid in prioritizing requests.
The text was updated successfully, but these errors were encountered: