[ 
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)

Reply via email to