Commit graph

205 commits

Author SHA1 Message Date
Pfifer, Justin
c1df703d67 Release 1.8.4 of the Amazon Kinesis Client for Java
* Create a new completion service for each request.
  This ensures that canceled tasks are discarded.  This will prevent a cancellation exception causing issues processing records.
  * PR #227
  * Issue #226
2017-09-22 16:23:20 -07:00
Pfifer, Justin
b1c27bd386 Recreate the completion service instead of reusing them.
This prevents cancelled tasks from being polled in subsequent calls.
2017-09-22 14:45:54 -07:00
Justin Pfifer
5558449043 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
2017-09-22 12:25:52 -07:00
Sahil Palvia
4dd9423170 Calling shutdown on the RetrievalStrategy (#222)
Fixes a bug where the retriever wasn't being shutdown when a record processor was being shutdown.
2017-09-22 11:43:34 -07:00
Justin Pfifer
9a82b6bd05 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
2017-09-20 08:52:36 -07:00
Justin Pfifer
cdbbff31e8 Advance to 1.8.2-SNAPSHOT (#203)
Advanced the version to 1.8.2
2017-08-14 09:05:12 -07:00
Justin Pfifer
79296dad2e Release 1.8.1 of the Amazon Kinesis Client (#198)
Support timeouts for calls to the MultiLang Daemon
This adds support for setting a timeout when dispatching records to
the client record processor. If the record processor doesn't respond
within the timeout the parent Java process will be terminated. This
is a temporary fix to handle cases where the KCL becomes blocked
while waiting for a client record processor.

The timeout for the this can be set by adding
  `timeoutInSeconds = <timeout value>`.
The default for this is no timeout.

Setting this can cause the KCL to exit suddenly, before using this
ensure that you have an automated restart for your application

Related #195
Related #185
2017-08-02 10:41:14 -07:00
Pfifer, Justin
526a1fa0df Updated AWS SDK to 1.11.171 2017-08-02 10:33:23 -07:00
Justin Pfifer
7d56c4aef1 Advance Version to 1.8.1-SNAPSHOT (#194)
Advance version of the amazon-kinesis-client to 1.8.1-SNAPSHOT in
preparation of next release cycle.
2017-07-25 14:19:34 -07:00
Justin Pfifer
af51312307 Release 1.8.0 (#193)
* Execute graceful shutdown on its own thread
  * PR #191
  * Issue #167
* Added support for controlling the size of the lease renewer thread pool
  * PR #177
  * Issue #171
* Require Java 8 and later
  Java 8 is now required for versions 1.8.0 of the amazon-kinesis-client and later.
  * PR #176
2017-07-25 09:22:48 -07:00
Justin Pfifer
14e2413c13 Advance version, and drop Java 7 support (#176)
* Advance version, and drop Java 7 support

Advanced the version to 1.8.0 as Java 7 support is being removed.

* Remove build settings for Java 7

Removed the configuration for Java 7, and switched to trusty for access
to openjdk8.
2017-07-20 12:03:34 -07:00
Justin Pfifer
4c839a9d43 Release 1.7.6 of the Amazon Kinesis Client (#184)
* Added support for graceful shutdown in MultiLang Clients
  * PR #174
  * PR #182
* Updated documentation for `v2.IRecordProcessor#shutdown`, and `KinesisClientLibConfiguration#idleTimeBetweenReadsMillis`
  * PR #170
* Updated to version 1.11.151 of the AWS Java SDK
  * PR #183
2017-06-22 06:56:42 -07:00
Justin Pfifer
dabdc29822 Update to the Newest Version of the AWS Java SDK (#183) 2017-06-21 08:54:18 -07:00
Pfifer, Justin
198f8afce7 Advance Version to 1.7.6 for Next Release 2017-06-21 07:46:06 -07:00
Pfifer, Justin
e12ff541f7 Enable Building Both Source, and JavaDoc jars 2017-06-01 08:26:16 -07:00
Pfifer, Justin
8d339bdb88 Release 1.7.5 of the Amazon Kinesis Client Library
* Correctly handle throttling for DescribeStream, and save accumulated progress from individual calls.
  * PR #152
* Upgrade to version 1.11.115 of the AWS Java SDK
  * PR #155
2017-04-07 10:39:44 -07:00
Pfifer, Justin
105c4f2a6b Upgrade to Version 1.11.115 of the AWS Java SDK
Upgraded to the current version.
2017-04-07 09:41:52 -07:00
Pfifer, Justin
97a29fc918 Update to a Newer Version of DynamoDB Local
Updated to a newer version of the DynamoDB Local library, and updated
the repository location.
2017-03-28 07:49:43 -07:00
Pfifer, Justin
92e8c28995 Advance Version to 1.7.5-SNAPSHOT
Advance the package version in preparation for development.
2017-03-20 10:05:13 -07:00
Pfifer, Justin
0a91e6faa5 Release 1.7.4 of the Amazon Kinesis Client
* Fixed an issue building JavaDoc for Java 8.
  * [Issue #18](https://github.com/awslabs/amazon-kinesis-client/issues/18)
  * [PR #141](https://github.com/awslabs/amazon-kinesis-client/pull/141)
* Reduce Throttling Messages to WARN, unless throttling occurs 6 times consecutively.
  * [Issue #4](https://github.com/awslabs/amazon-kinesis-client/issues/4)
  * [PR #140](https://github.com/awslabs/amazon-kinesis-client/pull/140)
* Fixed two bugs occurring in requestShutdown.
  * Fixed a bug that prevented the worker from shutting down, via requestShutdown, when no leases were held.
    * [Issue #128](https://github.com/awslabs/amazon-kinesis-client/issues/128)
  * Fixed a bug that could trigger a NullPointerException if leases changed during requestShutdown.
    * [Issue #129](https://github.com/awslabs/amazon-kinesis-client/issues/129)
  * [PR #139](https://github.com/awslabs/amazon-kinesis-client/pull/139)
* Upgraded the AWS SDK Version to 1.11.91
  * [PR #138](https://github.com/awslabs/amazon-kinesis-client/pull/138)
* Use an executor returned from `ExecutorService.newFixedThreadPool` instead of constructing it by hand.
  * [PR #135](https://github.com/awslabs/amazon-kinesis-client/pull/135)
* Correctly initialize DynamoDB client, when endpoint is explicitly set.
  * [PR #142](https://github.com/awslabs/amazon-kinesis-client/pull/142)
2017-02-27 08:12:17 -08:00
Justin Pfifer
030ae1cb15 Disable doclint When Building With Java 8 (#141)
Disable the JavaDoc doclint when building with Java 8.  Java 8 became
much more pedantic on bad practices, and the documentation hasn't been
cleaned up.
2017-02-17 10:32:21 -08:00
Justin Pfifer
bf7152475a Use the Current Version of the AWS Java SDK (#138)
Updated to the 1.11.91 version of the AWS Java SDK.
2017-02-17 09:19:31 -08:00
Pfifer, Justin
037e886a76 Advance Version to 1.7.4-SNAPSHOT
Advance the version to 1.7.4-SNAPSHOT in preparation of the next release.
2017-02-17 09:09:02 -08:00
Justin Pfifer
3d18e484cf Release 1.7.3 of the Amazon Kinesis Client (#131)
* Upgrade to the newest AWS Java SDK.
  * Issue awslabs/amazon-kinesis-client-python#27
  * PR #126
  * PR #125
* Added a direct dependency on commons-logging.
  * Issue #123
  * PR #124
* Make ShardInfo public to allow for custom ShardPrioritization strategies.
  * Issue #120
  * PR #127
2017-01-20 09:05:54 -08:00
Justin Pfifer
b607df3823 Update to newest AWS Java SDK (#126)
Updated to the newest version of the AWS Java SDK.

Fixes:
Amazon Kinesis Client for Python Issue awslabs/amazon-kinesis-client-python#27

Related:
PR #125
2017-01-09 08:10:38 -08:00
Justin Pfifer
7acd0fb6d2 Add Direct Dependency on Commons Log (#124)
* Add Direct Dependency on Commons Log

Commons log was a transient dependency, but should have been a direct
dependency.  Now take a direct dependency on it.

* Move to Next Release Version Snapshot

Changed version to 1.7.3-SNAPSHOT for next release.
2017-01-03 14:50:29 -08:00
Pfifer, Justin
0954ed8b26 Release 1.7.2 of the Amazon Kinesis Client Library
MultiLangDaemon Feature Updates

The MultiLangDaemon has been upgraded to use the v2 interfaces, which allows access to enhanced checkpointing, and more information during record processor initialization. The MultiLangDaemon clients must be updated before they can take advantage of these new features.
2016-11-07 11:50:06 -08:00
Justin Pfifer
5d045521ce Update MultiLangDaemon to Support New Features (#118)
Updated the MultiLangDaemon to use the v2 record processor interfaces, and added features to messages passed to MultiLangDaemon clients.

These changes will require updates to the various MultiLangDaemon clients. The changes for the Python version are complete, and other versions will be updated later.
2016-11-07 11:38:04 -08:00
Pfifer, Justin
ed7d069e50 Move Version to 1.7.2-SNAPSHOT for Development
Move to the next expected release version for upcoming development.
2016-11-04 08:42:33 -07:00
Justin Pfifer
929abea107 Release 1.7.1 of the Amazon Kinesis Client Library (#116)
* General
  * Allow disabling shard synchronization at startup.
    * Applications can disable shard synchronization at startup.  Disabling shard synchronization can application startup times for very large streams.
    * [PR #102](https://github.com/awslabs/amazon-kinesis-client/pull/102)
  * Applications can now request a graceful shutdown, and record processors that implement the IShutdownNotificationAware will be given a chance to checkpoint before being shutdown.
    * This adds a [new interface](https://github.com/awslabs/amazon-kinesis-client/blob/master/src/main/java/com/amazonaws/services/kinesis/clientlibrary/interfaces/v2/IShutdownNotificationAware.java), and a [new method on Worker](https://github.com/awslabs/amazon-kinesis-client/blob/master/src/main/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/Worker.java#L539).
    * [PR #109](https://github.com/awslabs/amazon-kinesis-client/pull/109)
    * Solves [Issue #79](https://github.com/awslabs/amazon-kinesis-client/issues/79)
* MultiLangDaemon
  * Applications can now use credential provides that accept string parameters.
    * [PR #99](https://github.com/awslabs/amazon-kinesis-client/pull/99)
  * Applications can now use different credentials for each service.
    * [PR #111](https://github.com/awslabs/amazon-kinesis-client/pull/111)
2016-11-03 09:46:11 -07:00
Pfifer, Justin
51663f96c7 Move Version to Next Development Version
Adjusted the version to 1.7.1-SNAPSHOT for current development.
2016-09-01 07:36:20 -07:00
Pfifer, Justin
8a32e89fe9 Version 1.7.0 of the Amazon Kinesis Client Library
* Add support for time based iterators ([See GetShardIterator Documentation](http://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetShardIterator.html))
  * [PR #94](https://github.com/awslabs/amazon-kinesis-client/pull/94)
  The `KinesisClientLibConfiguration` now supports providing an initial time stamp position.
  * This position is only used if there is no current checkpoint for the shard.
  * This setting cannot be used with DynamoDB Streams
  Resolves [Issue #88](https://github.com/awslabs/amazon-kinesis-client/issues/88)
* Allow Prioritization of Parent Shards for Task Assignment
  * [PR #95](https://github.com/awslabs/amazon-kinesis-client/pull/95)
  The `KinesisClientLibconfiguration` now supports providing a `ShardPrioritization` strategy.  This strategy controls how the `Worker` determines which `ShardConsumer` to call next.  This can improve processing for streams that split often, such as DynamoDB Streams.
* Remove direct dependency on `aws-java-sdk-core`, to allow independent versioning.
  * [PR #92](https://github.com/awslabs/amazon-kinesis-client/pull/92)
  **You may need to add a direct dependency on aws-java-sdk-core if other dependencies include an older version.**
2016-08-22 12:55:19 -07:00
Justin Pfifer
e28ca002de Merge pull request #92 from shorea/master
Removing explicit dependency on core
2016-08-11 12:47:16 -07:00
Justin Pfifer
33e37ef10a Merge pull request #94 from pfifer/time-based-iterators
Added Support for Time based iterators
2016-08-11 12:46:19 -07:00
Pfifer, Justin
aa47fce30b Added Time Based Iterator Support
Added support for time based iterators.  Time based iterators are only
used if there is no current checkpoint for that shard, otherwise the
sequence number of the checkpoint is used.
2016-08-11 09:20:25 -07:00
Pfifer, Justin
38e2adb389 Move to snapshot for next release which will be 1.7.0 2016-08-11 08:41:39 -07:00
Andrew Shore
9fbc9a34d0 Removing explicit dependency on core 2016-08-08 13:12:32 -07:00
Pfifer, Justin
41832de928 Version 1.6.5 of the Amazon Kinesis Client Library 2016-07-25 12:38:54 -07:00
Pfifer, Justin
92faba1832 Copy sqlite Native Libraries, and Use for Testing
Copies all the native library version for sqlite during the test compile
phase.  The sqlite native libraries are only needed to run the unit tests.
2016-07-20 15:00:05 -07:00
Pfifer, Justin
a6931dfb15 Enable Travis CI Builds
Added the Travis CI configuration to enable continous integration
testing for common JDK version > 1.7.

Move gpg signing to its own profile to avoid causing issues with the
test, and integration-test phases.
2016-07-20 13:14:25 -07:00
Pfifer, Justin
33cec94530 Added Unit, and Integration Tests
Added unit tests for many of the classes in the client.  Added new
dependencies for the unit tests to the POM file.  Unit tests can be
executed the `surefire:test` goal, and are executed during the test phase.

Added integration tests for the client.  The tests require access to
credentials that can interact with Kinesis, and DynamoDB.  The
integration tests can be run by executing the
`failsafe:integration-test` goal, or are run as part of the
integration-test phase

**Resources in the integration tests are not currently released on
completion of the integration tests.**
2016-07-20 12:58:43 -07:00
Pfifer, Justin
dd14bac4e3 'Version 1.6.4 of the Amazon Kinesis Client Library' 2016-07-07 13:28:18 -07:00
Gosalia, Manan
6d3ffff870 Version 1.6.3 of the Amazon Kinesis Client Library 2016-05-12 12:37:13 -07:00
Gosalia, Manan
74c259ca11 Version 1.6.2 of the Amazon Kinesis Client Library 2016-03-23 12:23:40 -07:00
Gosalia, Manan
c6e393c13e Version 1.6.1 of the Amazon Kinesis Client Library 2015-09-23 14:00:34 -07:00
Deng
97e606ffeb Version 1.6.0 of the Amazon Kinesis Client Library 2015-08-03 11:21:40 -07:00
Gosalia, Manan
b596a0223e Version 1.5.1 of the Amazon Kinesis Client Library 2015-07-20 12:57:38 -07:00
Gosalia, Manan
850db1a3da Version 1.5.0 of the Amazon Kinesis Client Library 2015-07-09 11:18:09 -07:00
Deng
4dfc17d04a Version 1.4.0 of the Amazon Kinesis Client Library 2015-06-02 11:53:00 -07:00
Dosani, Adnan
1861f12db7 Version 1.3.0 of the Amazon Kinesis Client Library
A new metric called "MillisBehindLatest", which tracks how far
consumers are from real time, is now uploaded to CloudWatch.
2015-05-22 02:09:47 -07:00
Kurtis Norwood
0fc90ff787 'Version 1.2.1 of the Amazon Kinesis Client Library' 2015-01-26 14:18:35 -08:00
Kurtis Norwood
73ac2c0e25 'Version 1.2.0 of the Amazon Kinesis Client Library' 2014-10-21 11:28:58 -07:00
Umesh Kumar
50000086e3 'Version 1.1.1 of the Amazon Kinesis Client Library' 2014-09-11 16:40:44 +00:00
Gaurav Ghare
13aad26a80 'Version 1.1.0 of the Amazon Kinesis Client Library' 2014-06-30 12:18:58 -07:00
Gaurav Ghare
ce9054cb1b 'Version 1.0.0 of the Amazon Kinesis Client Library' 2013-12-16 18:07:34 -08:00