You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Roman Khachatryan (Jira)" <ji...@apache.org> on 2020/05/27 13:01:00 UTC
[jira] [Updated] (FLINK-17972) Consider restructuring channel state
[ https://issues.apache.org/jira/browse/FLINK-17972?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Roman Khachatryan updated FLINK-17972:
--------------------------------------
Description:
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).
was:
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).{{}}
> 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
> Priority: Major
> 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)