awslabs / dynamodb-streams-kinesis-adapter

The Amazon DynamoDB Streams Adapter implements the Amazon Kinesis interface so that your application can use KCL to consume and process data from a DynamoDB stream.
Apache License 2.0
97 stars 37 forks source link

amazon-kinesis-client 1.13.3 breaks dynamodb-streams-kinesis-adapter #31

Closed solo-yolo closed 4 years ago

solo-yolo commented 4 years ago

Hi, this issue pretty similar to #27, newly released version of amazon-kinesis-client, namely 1.13.3 introduced compatibility issue with dynamodb-streams-kinesis-adapter.

Incompatibility caused by adding a new method to the IKinesisProxy interface (link)

It leads to the following error:

com.amazonaws.services.dynamodbv2.streamsadapter.DynamoDBStreamsProxy does not define or inherit an implementation of the resolved method 'abstract com.amazonaws.services.kinesis.clientlibrary.proxies.ShardClosureVerificationResponse verifyShardClosure(java.lang.String)' of interface com.amazonaws.services.kinesis.clientlibrary.proxies.IKinesisProxy.
\tat com.amazonaws.services.kinesis.clientlibrary.lib.worker.ShutdownTask.call(ShutdownTask.java:108)
...

As @tmszdmsk already mentioned, as a temporary solution it can be fixed by changing version range to the 1.13.2

aggarwal commented 4 years ago

This issue has been resolved now in the 1.5.1 release. We've also fixed the KCL dependency at 1.13.3 to avoid this in the future.