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)