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

Is calling checkpoint() with no args on shutdown correct behaviour?

Open msinto93 opened this issue 2 years ago • 0 comments

In the sample code, when a shutdown is requested we call the checkpoint() method with no args, which means the checkpoint sequence number will be the end of the most recently delivered list of records.

def shutdown_requested(self, shutdown_requested_input):
        self.log("Shutdown has been requested, checkpointing.")
        shutdown_requested_input.checkpointer.checkpoint()

Is this behaviour correct? What if shutdown is requested while we are halfway through processing a batch of records? This would mean we checkpoint the last record and therefore skip the second half of the batch. Or are we saying that shutdown_requested() can only be called after process_records() has completed, and not during?

msinto93 avatar Mar 07 '23 10:03 msinto93