Github user wangzhijiang999 commented on a diff in the pull request: https://github.com/apache/flink/pull/3151#discussion_r99734627 --- Diff: flink-runtime/src/main/java/org/apache/flink/runtime/taskexecutor/TaskExecutor.java --- @@ -741,6 +763,18 @@ private void establishJobManagerConnection(JobID jobId, JobMasterGateway jobMast jobManagerTable.put(jobId, associateWithJobManager(jobMasterGateway, jobManagerLeaderId, registrationSuccess.getBlobPort())); } + heartbeatManager.monitorTarget(registrationSuccess.getResourceID(), new HeartbeatTarget() { + @Override + public void sendHeartbeat(ResourceID resourceID, Object payload) { + jobMasterGateway.heartbeatFromTaskManager(resourceID, payload); + } + + @Override + public void requestHeartbeat(ResourceID resourceID, Object payload) { + throw new UnsupportedOperationException("Should never call requestHeartbeat in task manager."); --- End diff -- My previous understanding is that the heartbeat is only requested from RM and JM to TM, and the TM will only response the heartbeat. Do you mean the heartbeat can both request from both sides? If to do so, the TM also needs to schedule a heartbeat request at interval time.
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---