amazon-kinesis-client-python icon indicating copy to clipboard operation
amazon-kinesis-client-python copied to clipboard

NoSuchMethodError on DynamoDB integration with 2.1.4

Open alexrashed opened this issue 3 months ago • 0 comments

With the upgrade to the latest version (2.1.4) our tests failed with the following error:

java.lang.NoSuchMethodError: 'software.amazon.awssdk.services.dynamodb.model.CreateTableRequest$Builder software.amazon.awssdk.services.dynamodb.model.CreateTableRequest$Builder.deletionProtectionEnabled(java.lang.Boolean)'
	at software.amazon.kinesis.leases.dynamodb.DynamoDBLeaseRefresher.createTableRequestBuilder(DynamoDBLeaseRefresher.java:814)
	at software.amazon.kinesis.leases.dynamodb.DynamoDBLeaseRefresher.createLeaseTableIfNotExists(DynamoDBLeaseRefresher.java:210)
	at software.amazon.kinesis.leases.dynamodb.DynamoDBLeaseCoordinator.initialize(DynamoDBLeaseCoordinator.java:215)
	at software.amazon.kinesis.coordinator.Scheduler.initialize(Scheduler.java:342)
	at software.amazon.kinesis.coordinator.Scheduler.run(Scheduler.java:316)
	at software.amazon.kinesis.multilang.MultiLangDaemon$MultiLangRunner.call(MultiLangDaemon.java:95)
	at software.amazon.kinesis.multilang.MultiLangDaemon$MultiLangRunner.call(MultiLangDaemon.java:86)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:829)

I suspect that this is due to the fact that the pom.xml of this repo defines 2.19.2 of the aws-sdk: https://github.com/awslabs/amazon-kinesis-client-python/blob/739f4ba74f433bfeb3d96abc8e3569b395079a9f/pom.xml#L5

But another dependency - amazon-kinesis-client in version 2.5.8 - defines 2.25.11:

    <awssdk.version>2.25.11</awssdk.version>

alexrashed avatar Apr 30 '24 07:04 alexrashed