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

Zhijiang Wang commented on FLINK-4354:
--------------------------------------

Actually the current {{HeartbeatManagerImpl}} can work and be used directly in 
TM component. The only issue is that the {{HeartbeatManagerImpl}} implements 
the {{HeartbeatTarget}} interface and it will be only used in testing. TM will 
wraps a new {{HeartbeatTarget}} based on {{ResourceID}} and {{Gateway}} of RM, 
so TM will never call the methods of {{sendHeartbeat}} and {{requestHeartbeat}} 
in {{HeartbeatManagerImpl}}. 
In other words, {{HeartbeatManagerImpl}} has the role of {{HeartbeatTarget}}, 
but this role is redundant for TM and RM, because TM and RM will create the 
separate {{HeartbeatTarget}} in registration process. If 
{{HeartbeatManagerImpl}} does not implement {{HeartbeatTarget}}, it seems pure 
to be reuse by different components (TM,RM,JM) I think. 
Maybe my understanding is not very accurate, currently I can reuse 
{{HeartbeatManagerImpl}} in TM to realize the process.


>  Implement TaskManager side of heartbeat from ResourceManager
> -------------------------------------------------------------
>
>                 Key: FLINK-4354
>                 URL: https://issues.apache.org/jira/browse/FLINK-4354
>             Project: Flink
>          Issue Type: Sub-task
>          Components: Cluster Management
>            Reporter: Zhijiang Wang
>            Assignee: Zhijiang Wang
>
> The {{ResourceManager}} initiates heartbeat messages via the {{RmLeaderID}}. 
> The {{TaskManager}} transmits its slot availability with each heartbeat. That 
> way, the RM will always know about available slots.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to