Commit graph

599 commits

Author SHA1 Message Date
Josh
db314b970b Allow for credential providers with basic arg types (#99)
* Add support for configuring DynamoDB endpoint

Adding a new field named `dynamoDBEndpoint` to the .properties file
that gets passed into the KCL multi-lang daemon. We need this ability
to point the KCL worker at a local instance of DynamoDB rather than in
AWS.

* Added the ability to use AWSCredentialsProvider's that require non-empty contructor args e.g. ProfileCredentialsProvider where you provide the profile name to use from your ~/.aws/credentials file

* Created a constructor without the dynamoDBEndpoint argument i.e. same arguments before the dynamo change, for backwards compatibility
2016-10-14 10:05:44 -07:00
Justin Pfifer
56c59f685a Allow Disabling Shard Sync at Startup (#102)
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.
2016-10-14 08:11:32 -07:00
Randy Findley
5c497d87a9 Feature/multiple cred providers (#111)
* 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@
2016-10-14 08:10:38 -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
1d0ce08667 Merge pull request #98 from pfifer/tbsi-logging-issue
Prevent Spurious Info Message on getIterator
2016-08-22 08:42:45 -07:00
Pfifer, Justin
4cbb6d851e Prevent Spurious Info Message on getIterator
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.
2016-08-22 08:26:22 -07:00
Justin Pfifer
a02022fb0f Merge pull request #97 from pfifer/shard-info-equals
Don't Use Checkpoint for Equality in ShardInfo
2016-08-17 14:59:43 -07:00
Pfifer, Justin
6ea3c0f8dd Don't Use Checkpoint for Equality in ShardInfo
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.
2016-08-17 14:46:51 -07:00
Justin Pfifer
17aa07c071 Merge pull request #95 from pfifer/shard-prioritization
Allow Prioritization of Parent Shard Tasks
2016-08-17 08:17:04 -07:00
Pfifer, Justin
85b6b9f151 Allow Prioritization of Parent Shard Tasks
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.
2016-08-17 07:45:33 -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
Justin Pfifer
18fc581ceb Merge pull request #93 from pfifer/master
Move to Snapshot Version Number for Next Release
2016-08-11 12:46:10 -07:00
Justin Pfifer
bdab058394 Merge pull request #44 from raphaelfeng/master
Fix a typo in the comment of KinesisClientLibConfiguration
2016-08-11 09:54:14 -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
53754ae567 Add Continuous Integration Badge
Added badge from Travis CI for the automatic builds.
2016-07-21 13:52:18 -07:00
Pfifer, Justin
8fc5dd5862 Check if Table Exists Before Creation
Attempt to see if the lease table exists before attempting to create it.

Related/Fixes
PR#67 - https://github.com/awslabs/amazon-kinesis-client/pull/67
2016-07-21 13:42:01 -07:00
Justin Pfifer
2104f358c6 Merge pull request #86 from zdjohn/master
expose approximateArrivalTimestamp from JsonFriendlyRecord
2016-07-21 09:58:58 -07:00
Justin Pfifer
d695c0ab80 Merge pull request #84 from rankinc/lease-renewal-threads
Always shutdown leaseRenewalThreadpool on exit.
2016-07-21 09:58:26 -07:00
Justin Pfifer
c936b63808 Merge pull request #82 from rankinc/shutdown-cloudwatch-metrics
Join metrics publishing thread when shutting factory down.
2016-07-21 09:57:57 -07:00
Pfifer, Justin
586e97405e Fix Race Condition on Worker Test
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.
2016-07-21 08:14:20 -07:00
Pfifer, Justin
2bf45eafda Merge Changes for PR#61
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.
2016-07-21 07:08:13 -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
zdjohn
504f865a86 expose approximateArrivalTimestamp from JsonFriendlyRecord 2016-07-01 23:32:13 +10:00
Chris Rankin
6647b4b642 Always shutdown leaseRenewalThreadpool on exit. 2016-06-29 10:52:54 +01:00
Chris Rankin
f4849baa42 Join metrics publishing thread when shutting factory down. 2016-06-27 22:47:48 +01: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
Raphael Feng
d24d936d9a Fix a typo in the comment of KinesisClientLibConfiguration
Change "this msy be set to a higher number" to "this may be set to a higher number"
2015-10-07 17:06:43 -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
9b1549e810 'Version 1.2.0 of the Amazon Kinesis Client Library' 2014-10-21 13:07:04 -07: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
Andrew Fitz Gibbon
12646f1f3b Initial commit 2013-11-07 11:02:44 -08:00