Skip to content

Demo project to replicate the Kinesis spring binder issue of lock for key was not renewed in time endlessly, where two shards have been assigned different consumer instances. Read more here https://github.com/spring-cloud/spring-cloud-stream/issues/2392

Notifications You must be signed in to change notification settings

postalservice14/kinesis-lock-was-not-renewed-in-time

 
 

Repository files navigation

Demo project to reproduce KinesisMessageDrivenChannelAdapter : The lock for key 'xxxxx' was not renewed in time

./gradlew build - to build the project both producer and consumer modules

docker-compose -f docker-local.yml up --build -d - to spin Localstack with Kinesis and DynamoDb, one producer instance and 3 consumer instances

To recreate the issue:

  • Run the steps above
  • ./scripts/list_lock - to see who is the owner of 2 shards now.

If you are lucky you get different owners and should be able to see lock exception on 2 of those 3 running instances.

  • If the owner for 2 shards is the same, then you need to restart the active consuming consumer and run again ./scripts/list_lock to see if you are lucky and have two owners for two shards now and exception.
  • If not continue to restart the active instance until you get one shard has one owner and another shard has another owner.

About

Demo project to replicate the Kinesis spring binder issue of lock for key was not renewed in time endlessly, where two shards have been assigned different consumer instances. Read more here https://github.com/spring-cloud/spring-cloud-stream/issues/2392

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 93.6%
  • Dockerfile 4.2%
  • Shell 2.2%