Details
-
Sub-task
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
Added support for disabling changelog when recovering from checkpoints
Description
Recovery from savepoint already works:
- changelog off -> on:
FLINK-23278 - changelog on -> off: directly calling underlyingBackend.savepoint() (instead of writer.persist())
For checkpoints, changelog on -> off doesn't work. Regular state backend will receive materialized and non-aterialized state on recovery. To support it, state changes have to be applied on recovery even if changelog backend is disabled.
Another obstacle could be that wrapped backend state handles created during materialization can refer to a fake checkpoint ID. This fake checkpoint ID would then be passed to e.g. RocksIncrementalSnapshotStrategy on restore.