Skip to content
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

MultiLangDaemon: Make shutdown grace configurable #204

Merged
merged 1 commit into from
Sep 19, 2017

Conversation

AlexCharlton
Copy link
Contributor

The shutdown grace added to the MultiLangDaemon in 1.7.6 proved to be essential for my application, but the hard-coded 5 second grace is too harsh for my needs. This adds a configuration parameter for the grace period.

@pfifer
Copy link
Contributor

pfifer commented Aug 29, 2017

Please confirm that we can use, modify, copy, and redistribute this contribution.

Thanks.

@AlexCharlton
Copy link
Contributor Author

You may use, modify, copy, and redistribute this contribution.

@pfifer
Copy link
Contributor

pfifer commented Aug 31, 2017

One more question: Is the change coming from yourself, or from Instacart?

@jackdempsey
Copy link

@pfifer Can you share some info on the context behind the question? (why it matters, what it means, etc). Thanks

@pfifer
Copy link
Contributor

pfifer commented Sep 18, 2017

If it's coming from Instacart we just need to confirm that Alex has authority from Instacart to contribute the change to us under the same language:

Please confirm that we can use, modify, copy, and redistribute this contribution.

I'm sorry for all the extra steps.

Also can you let me know which of the multi-lang daemon clients use.

@jackdempsey
Copy link

Hey pfifer, thanks and no worries. What do you need to confirm he has the authority? (He's on my team here and I can confirm he does)

@AlexCharlton
Copy link
Contributor Author

Yes @pfifer, these changes are coming from Instacart. I can also confirm that @jackdempsey is my manager, and that I have it from the highest authority that you can use, modify, copy and redistribute this contribution :)

Sorry, I'm not sure what you mean by:

Also can you let me know which of the multi-lang daemon clients use.

@pfifer
Copy link
Contributor

pfifer commented Sep 19, 2017

I need to update the multi-lang clients to use the newer version of the KCL, and was curious which language you're were using.

I do plan to include this change in the upcoming release.

@pfifer pfifer merged commit 01d2688 into awslabs:master Sep 19, 2017
@pfifer pfifer added this to the Release 1.8.2 milestone Sep 19, 2017
@AlexCharlton
Copy link
Contributor Author

Ah, I see. We're using Ruby, but not https://github.com/awslabs/amazon-kinesis-client-ruby . We've written our own client library, which we'll probably open-source before long. LKM if yo'd like to be notified if we do.

Thanks!

pfifer added a commit to pfifer/amazon-kinesis-client that referenced this pull request Sep 20, 2017
* Add support for two phase checkpoints
  Applications can now set a pending checkpoint, before completing the checkpoint operation. Once the application has completed its checkpoint steps, the final checkpoint will clear the pending checkpoint.
  Should the checkpoint fail the attempted sequence number is provided in the InitializationInput#getPendingCheckpointSequenceNumber otherwise the value will be null.
  * PR awslabs#188
* Support timeouts, and retry for GetRecords calls.
  Applications can now set timeouts for GetRecord calls to Kinesis.  As part of setting the timeout, the application must also provide a thread pool size for concurrent requests.
  * PR awslabs#214
* Notification when the lease table is throttled
  When writes, or reads, to the lease table are throttled a warning will be emitted.  If you're seeing this warning you should increase the IOPs for your lease table to prevent processing delays.
  * PR awslabs#212
* Support configuring the graceful shutdown timeout for MultiLang Clients
  This adds support for setting the timeout that the Java process will wait for the MutliLang client to complete graceful shutdown.  The timeout can be configured by adding `shutdownGraceMillis` to the properties file set to the number of milliseconds to wait.
  * PR awslabs#204
pfifer added a commit that referenced this pull request Sep 20, 2017
* Add support for two phase checkpoints
  Applications can now set a pending checkpoint, before completing the checkpoint operation. Once the application has completed its checkpoint steps, the final checkpoint will clear the pending checkpoint.
  Should the checkpoint fail the attempted sequence number is provided in the InitializationInput#getPendingCheckpointSequenceNumber otherwise the value will be null.
  * PR #188
* Support timeouts, and retry for GetRecords calls.
  Applications can now set timeouts for GetRecord calls to Kinesis.  As part of setting the timeout, the application must also provide a thread pool size for concurrent requests.
  * PR #214
* Notification when the lease table is throttled
  When writes, or reads, to the lease table are throttled a warning will be emitted.  If you're seeing this warning you should increase the IOPs for your lease table to prevent processing delays.
  * PR #212
* Support configuring the graceful shutdown timeout for MultiLang Clients
  This adds support for setting the timeout that the Java process will wait for the MutliLang client to complete graceful shutdown.  The timeout can be configured by adding shutdownGraceMillis to the properties file set to the number of milliseconds to wait.
  * PR #204
sahilpalvia pushed a commit that referenced this pull request Sep 21, 2017
* MultiLangDaemon: Make shutdown grace configurable (#204)

Allow configuring the amount of time that the graceful shutdown process will wait for the client to complete its shutdown.

* Release 1.8.2 of the Amazon Kinesis Client for Java (#218)

* Add support for two phase checkpoints
  Applications can now set a pending checkpoint, before completing the checkpoint operation. Once the application has completed its checkpoint steps, the final checkpoint will clear the pending checkpoint.
  Should the checkpoint fail the attempted sequence number is provided in the InitializationInput#getPendingCheckpointSequenceNumber otherwise the value will be null.
  * PR #188
* Support timeouts, and retry for GetRecords calls.
  Applications can now set timeouts for GetRecord calls to Kinesis.  As part of setting the timeout, the application must also provide a thread pool size for concurrent requests.
  * PR #214
* Notification when the lease table is throttled
  When writes, or reads, to the lease table are throttled a warning will be emitted.  If you're seeing this warning you should increase the IOPs for your lease table to prevent processing delays.
  * PR #212
* Support configuring the graceful shutdown timeout for MultiLang Clients
  This adds support for setting the timeout that the Java process will wait for the MutliLang client to complete graceful shutdown.  The timeout can be configured by adding shutdownGraceMillis to the properties file set to the number of milliseconds to wait.
  * PR #204
sahilpalvia added a commit that referenced this pull request Sep 22, 2017
* MultiLangDaemon: Make shutdown grace configurable (#204)

Allow configuring the amount of time that the graceful shutdown process will wait for the client to complete its shutdown.

* Release 1.8.2 of the Amazon Kinesis Client for Java (#218)

* Add support for two phase checkpoints
  Applications can now set a pending checkpoint, before completing the checkpoint operation. Once the application has completed its checkpoint steps, the final checkpoint will clear the pending checkpoint.
  Should the checkpoint fail the attempted sequence number is provided in the InitializationInput#getPendingCheckpointSequenceNumber otherwise the value will be null.
  * PR #188
* Support timeouts, and retry for GetRecords calls.
  Applications can now set timeouts for GetRecord calls to Kinesis.  As part of setting the timeout, the application must also provide a thread pool size for concurrent requests.
  * PR #214
* Notification when the lease table is throttled
  When writes, or reads, to the lease table are throttled a warning will be emitted.  If you're seeing this warning you should increase the IOPs for your lease table to prevent processing delays.
  * PR #212
* Support configuring the graceful shutdown timeout for MultiLang Clients
  This adds support for setting the timeout that the Java process will wait for the MutliLang client to complete graceful shutdown.  The timeout can be configured by adding shutdownGraceMillis to the properties file set to the number of milliseconds to wait.
  * PR #204

* Calling shutdown on the RetrievalStrategy (#222)

Fixes a bug where the retriever wasn't being shutdown when a record processor was being shutdown.

* Release 1.8.3 of the Amazon Kinesis Client for Java (#224)

* Call shutdown on the retriever when the record processor is being shutdown
  This fixes a bug that could leak threads if using the
  AsynchronousGetRecordsRetrievalStrategy is being used.
  The asynchronous retriever is only used when
  KinesisClientLibConfiguration#retryGetRecordsInSeconds, and
  KinesisClientLibConfiguration#maxGetRecordsThreadPool are set.
  * PR #222
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants