Details
-
Technical Debt
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
1.16.0, 1.15.2
Description
After FLINK-24611, CompletedCheckpointStore is required to call SharedStateRegistry.unregisterUnusedState() on checkpoint subsumption and shutdown.
Although it's not clear whether CompletedCheckpointStore is internal there are in fact external implementations (which weren't updated accordingly).
After FLINK-25872, CompletedCheckpointStore also must call checkpointsCleaner.cleanSubsumedCheckpoints.
Another issue with a custom implementation was using different java objects for state for CheckpointStore and SharedStateRegistry (after FLINK-24086).
So it makes sense to:
- clarify the contract (different in 1.15 and 1.16)
- require using the same checkpoint objects by SharedStateRegistryFactory and CompletedCheckpointStore
- mark the interface(s) as PublicEvolving
Attachments
Issue Links
- links to
> mark the interface(s) as PublicEvolving
Since mark `CompletedCheckpointStore` would cause `CompletedCheckpoint` , `SharedStateRegistry`, `CheckpointsCleaner`, `StreamStateHandle`, `OperatorState`, `CompletedCheckpointStats` ... to change with it, and some of them should be internal. So don't mark `CompletedCheckpointStore` as PulicEvolving for now.