[
https://issues.apache.org/jira/browse/FLINK-14510?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17135786#comment-17135786
]
Zhu Zhu commented on FLINK-14510:
---------------------------------
Thanks for the comment [~trohrmann].
I think the true problem that needs to be solved is that
{{ExecutionGraph#attachJobGraph(...)}} does not work properly if is invoked for
multiple times. This is because
- {{DefaultExecutionTopology}} needs to be created and assigned after job
vertices are attached
- legacy region failover strategy needed the topology to build regions. This is
not a problem anymore since this legacy strategy was removed.
Considering dynamically attaching vertices will be needed in the future, I
think a cleaner way would be to enable {{DefaultExecutionTopology}} for
dynamically attaching {{ExecutionJobVertices}} to be invoked by
{{ExecutionGraph#attachJobGraph(...)}}. In this way, {{executionTopology}} and
{{partitionReleaseStrategy}} can be final in {{ExecutionGraph}} and multiple
attaching can work correctly.
What do you think?
> Remove the lazy vertex attaching mechanism from ExecutionGraph
> --------------------------------------------------------------
>
> Key: FLINK-14510
> URL: https://issues.apache.org/jira/browse/FLINK-14510
> Project: Flink
> Issue Type: Improvement
> Components: Runtime / Coordination
> Affects Versions: 1.10.0
> Reporter: Zhu Zhu
> Assignee: Zhu Zhu
> Priority: Major
> Fix For: 1.12.0
>
>
> Currently in production, the vertex attaching is only invoked right after the
> ExecutionGraph is created in ExecutionGraphBuilder. That means lazy attaching
> is not necessary at the moment. It however adds extra complexity to
> ExecutionGraph, since we need to assume that the vertices may be not
> initialized or even get changed.
> Moreover, attaching vertices after a job starts scheduling is an undefined
> behavior which would not work properly.
> I'd propose to remove the lazy attaching mechanism, and do vertices building
> and related components initialization in ExecutionGraph constructor.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)