[ 
https://issues.apache.org/jira/browse/FLINK-11256?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16733025#comment-16733025
 ] 

Haibo Suen commented on FLINK-11256:
------------------------------------

The simplest solution is to put the ID of StreamNode in StreamEdge. But as Till 
said, introducing a runtime StreamEdge type is cleaner and more reasonable. 
Also, I think the StreamConfig type is confusing. The chained head StreamConfig 
contains the information about task-wide, while the non-head StreamConfig 
contains the information about operator-wide. So I consider adopting  the 
simplest solution to make a pull request for this JIRA, then creating another 
JIRA issue to introduce a runtime StreamEdge type and to rework StreamConfig. 
That issue is bigger than this. What do you think?

> Referencing StreamNode objects directly in StreamEdge causes the sizes of 
> JobGraph and TDD to become unnecessarily large
> ------------------------------------------------------------------------------------------------------------------------
>
>                 Key: FLINK-11256
>                 URL: https://issues.apache.org/jira/browse/FLINK-11256
>             Project: Flink
>          Issue Type: Bug
>          Components: Streaming
>    Affects Versions: 1.7.0, 1.7.1
>            Reporter: Haibo Suen
>            Assignee: Haibo Suen
>            Priority: Major
>
> When a job graph is generated from StreamGraph, StreamEdge(s) on the stream 
> graph are serialized to StreamConfig and stored into the job graph. After 
> that, the serialized bytes will be included in the TDD and distributed to TM. 
> Because StreamEdge directly reference to StreamNode objects including 
> sourceVertex and targetVertex, these objects are also written transitively on 
> serializing StreamEdge. But these StreamNode objects are not needed in JM and 
> Task. For a large size topology, this will causes JobGraph/TDD to become much 
> larger than that actually need, and more likely to occur rpc timeout when 
> transmitted.
> In StreamEdge, only the ID of StreamNode should be stored to avoid this 
> situation.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to