Skip to content

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

@msinto93

Description

@msinto93

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions