Details
-
Improvement
-
Status: Open
-
Not a Priority
-
Resolution: Unresolved
-
1.11.0
-
None
Description
(depends on rescaling for unaligned checkpoints (FLINK-17979))
Current structure is the following (this PR doesn't change it):
Each subtask reports to JM TaskStateSnapshot each with zero ore more OperatorSubtaskState, each with zero or more InputChannelStateHandle and ResultSubpartitionStateHandle each referencing an underlying StreamStateHandle
The underlying StreamStateHandle duplicates filename (ByteStreamStateHandle has it too at least because of equals/hashcode I guess).
An alternative would be something like
Each subtask reports to JM TaskStateSnapshot
each with zero ore more OperatorSubtaskState
each with zero or one StreamStateHandle (for channel state)
each with zero or more InputChannelStateHandle and ResultSubpartitionStateHandle
(probably, with StreamStateHandle and InputChannelStateHandle and ResultSubpartitionStateHandle encapsulated)
It would be more effective (less data duplication) but probably also more error-prone (implicit structure), less flexible (re-scaling).
(as discussed during introduction of StreamStateHandle.asBytesIfInMemory here)
Attachments
Issue Links
- is blocked by
-
FLINK-17979 Support rescaling for Unaligned Checkpoints
- Resolved