Allow disabling the shard sync at startup if the lease table already
contains leases. This will reduce the startup load for larger streams
when restarted the Kinesis application.
* Add ability to specify different credential providers for Kinesis, DynamoDB, and CloudWatch. This is needed when accessing a cross-account Kineses stream using an assumed role.
* Fix copy/paste mistake.
* Update tests.
Thanks to rgfindl@
Clean up check for ShardIteratorType to prevent emitting a spurious message for every call to GetIterator
Add missing KinesisProxyTest, and add 3 new tests for getIterator.
Don't include checkpoint in hashCode/equality for ShardInfo, since it
changes. Checkpointing would cause the Worker to recreate the
ShardConsumer. Add unit tests that verify the equality constraints.
Remove the equality test for checkpoint from ShardInfoTests. Nothing
appears to rely on the checkpoint being part of ShardInfo.
Fix WorkerTest broken in overzealous simplification.
Added a new interface that allows the worker to prioritize which lease
assignment it will work on next. When using the
ParentsFirstshardprioritization the worker will select parents for
processing before selecting children. This will prevent ShardConsumers
from spending time sleeping in the WAITING_ON_PARENT_SHARDS state.
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.
The test 'testWorkerForcefulShutdown' was using Thread.sleep() to create
the conditions for an interrupted state. It was possible for the test
to take enough time for the sleep to actually exit before the interrupt
was sent. This would cause the test to fail. Changing to a pair of
sempahores ensures that the test record processor will remain blocked
for the expected amount of time.
Merge, and slight adjustment, of
https://github.com/awslabs/amazon-kinesis-client/pull/61.
This allows configuration to explicitly set the name of the lease
table. The table name defaults to the application name which is the
current behavior.
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.
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.**