Roman Khachatryan created FLINK-17972:
-----------------------------------------
Summary: Consider restructuring channel state
Key: FLINK-17972
URL:
https://issues.apache.org/jira/browse/FLINK-17972 Project: Flink
Issue Type: Improvement
Components: Runtime / Checkpointing
Affects Versions: 1.11.0
Reporter: Roman Khachatryan
Assignee: Roman Khachatryan
Fix For: 1.12.0
Current structure is the following (this PR doesn't change it):
{{}}
{code:java}
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
{code}
The underlying {{StreamStateHandle}} duplicates filename ({{ByteStreamStateHandle}} has it too at least because of {{equals/hashcode}} I guess).
An alternative would be something like
{{}}
{code:java}
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{code}
{{}}
{{}}
{{(p}}{{robably, 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).{{}}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)