Details
-
Sub-task
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
None
Description
ChangelogKeyedStateBackend.getOrCreateKeyedState is currently used during recovery; on 1st user access, it doesn't update metadata nor migrate state (as opposed to other backends).
The proposed solution is to
- wrap serializers (and maybe other objects) in getOrCreateKeyedState
- store wrapping objects in a new map keyed by state name
- pass wrapped objects to delegatedBackend.createInternalState
- on 1st user access, lookup wrapper and upgrade its wrapped serializer
This should be done for both KV/PQ states.
See also https://github.com/apache/flink/pull/15420#discussion_r656934791
cc: yunta
Attachments
Issue Links
- is blocked by
-
FLINK-21356 Implement incremental checkpointing and recovery using state changelog
- Closed
- relates to
-
FLINK-26853 HeapStateBackend ignores metadata updates in certain cases
- Closed
-
FLINK-28553 The serializer in StateMap has not been updated when metaInfo of StateTable updated
- Closed
- links to