A very simple application running on a Spark cluster with 2 workers, using Kinesis with 2 shards.
And I check the Kinesis Streams Application State on DynamoDB (show in this screenshot) at region North Virginia.
I start and stop workers from time to time, and I just noticed, when the leaseOwner for 2 shards is the same worker, application works fine.
But when I stop the current leaseOwner (10.0.7.63), then there will be a owner switch and new owner will be the other worker (10.0.7.62), then my application pulls data and no data returned from Kinesis (but, the connection with Kinesis is still on).
My guess, is that when the owner is switched to another worker, the checkpoints on the new owner is not matching what is left inside Kinesis, and the pulling the data will get nothing.
Could anyone please explain a bit what's going on here? Am I guessing it right?
Thanks a lot.