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