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