I am using AWS Kinesis Client Library .
I need a way to disable the Kinesis Worker thread during deployment, so I stop at a breakpoint, not in the middle processRecords().
I see a logical shutdown present in Worker.java, but it is closed.
I need a breakpoint and idempotency to be important to me, and I don’t want to kill the process in the middle of the game.
[EDIT]
Thanks to @CaptainMurphy, I noticed that it Worker.javaprovides a method shutdown()that safely closes the worker and LeaseCoordinator. What he does not do is challenge the shutdown()task at IRecordProcessor. He abruptly stops IRecordProcessor, not worrying about the condition.
I understand that Idempotency between breakpoints is not guaranteed by KCL, and the developer should make the design fault-tolerant, but I feel that it IRecordProcessormust be turned off correctly before it LeaseCoordinatorstops regardless.
source
share