Description
I'm experimenting with an application that uses a relatively large GlobalKTable, and noticed that streams was not checkpointing its offsets on close(). This is because although org.apache.kafka.streams.processor.internals.GlobalStateManagerImpl#restoreState updates the checkpoint map, the actual checkpointing itself is guarded by a check that the offsets passed from the GloablStateUpdateTask are not empty. This is frustrating because if the topic backing the global table is both large (therefore taking a long time to restore) and infrequently written, then streams rebuilds the table from scratch every time the application is started.
Attachments
Issue Links
- links to