@Override public void updateNodeHeartbeatResponseForCleanup(NodeHeartbeatResponse response) { this.writeLock.lock(); try { response.addAllContainersToCleanup( new ArrayList<ContainerId>(this.containersToClean)); response.addAllApplicationsToCleanup(this.finishedApplications); response.addContainersToBeRemovedFromNM( new ArrayList<ContainerId>(this.containersToBeRemovedFromNM)); this.containersToClean.clear(); this.finishedApplications.clear(); this.containersToBeRemovedFromNM.clear(); } finally { this.writeLock.unlock(); } };
@Override public void updateNodeHeartbeatResponseForCleanup(NodeHeartbeatResponse response) { this.writeLock.lock(); try { response.addAllContainersToCleanup( new ArrayList<ContainerId>(this.containersToClean)); response.addAllApplicationsToCleanup(this.finishedApplications); response.addContainersToBeRemovedFromNM( new ArrayList<ContainerId>(this.containersToBeRemovedFromNM)); this.containersToClean.clear(); this.finishedApplications.clear(); this.containersToBeRemovedFromNM.clear(); } finally { this.writeLock.unlock(); } };
@Override public void setAndUpdateNodeHeartbeatResponse( NodeHeartbeatResponse response) { this.writeLock.lock(); try { response.addAllContainersToCleanup( new ArrayList<ContainerId>(this.containersToClean)); response.addAllApplicationsToCleanup(this.finishedApplications); response.addContainersToBeRemovedFromNM( new ArrayList<ContainerId>(this.containersToBeRemovedFromNM)); response.addAllContainersToSignal(this.containersToSignal); this.completedContainers.removeAll(this.containersToBeRemovedFromNM); this.containersToClean.clear(); this.finishedApplications.clear(); this.containersToSignal.clear(); this.containersToBeRemovedFromNM.clear(); response.addAllContainersToUpdate(toBeUpdatedContainers.values()); toBeUpdatedContainers.clear(); // NOTE: This is required for backward compatibility. response.addAllContainersToDecrease(toBeDecreasedContainers.values()); toBeDecreasedContainers.clear(); // Synchronously update the last response in rmNode with updated // responseId this.latestNodeHeartBeatResponse = response; } finally { this.writeLock.unlock(); } };
public static NodeHeartbeatResponse newNodeHeartbeatResponse(int responseId, NodeAction action, List<ContainerId> containersToCleanUp, List<ApplicationId> applicationsToCleanUp, MasterKey containerTokenMasterKey, MasterKey nmTokenMasterKey, long nextHeartbeatInterval) { NodeHeartbeatResponse response = recordFactory .newRecordInstance(NodeHeartbeatResponse.class); response.setResponseId(responseId); response.setNodeAction(action); response.setContainerTokenMasterKey(containerTokenMasterKey); response.setNMTokenMasterKey(nmTokenMasterKey); response.setNextHeartBeatInterval(nextHeartbeatInterval); if(containersToCleanUp != null) { response.addAllContainersToCleanup(containersToCleanUp); } if(applicationsToCleanUp != null) { response.addAllApplicationsToCleanup(applicationsToCleanUp); } return response; } }
public static NodeHeartbeatResponse newNodeHeartbeatResponse(int responseId, NodeAction action, List<ContainerId> containersToCleanUp, List<ApplicationId> applicationsToCleanUp, MasterKey containerTokenMasterKey, MasterKey nmTokenMasterKey, long nextHeartbeatInterval) { NodeHeartbeatResponse response = recordFactory .newRecordInstance(NodeHeartbeatResponse.class); response.setResponseId(responseId); response.setNodeAction(action); response.setContainerTokenMasterKey(containerTokenMasterKey); response.setNMTokenMasterKey(nmTokenMasterKey); response.setNextHeartBeatInterval(nextHeartbeatInterval); if(containersToCleanUp != null) { response.addAllContainersToCleanup(containersToCleanUp); } if(applicationsToCleanUp != null) { response.addAllApplicationsToCleanup(applicationsToCleanUp); } return response; } }
public static NodeHeartbeatResponse newNodeHeartbeatResponse(int responseId, NodeAction action, List<ContainerId> containersToCleanUp, List<ApplicationId> applicationsToCleanUp, MasterKey containerTokenMasterKey, MasterKey nmTokenMasterKey, long nextHeartbeatInterval) { NodeHeartbeatResponse response = recordFactory .newRecordInstance(NodeHeartbeatResponse.class); response.setResponseId(responseId); response.setNodeAction(action); response.setContainerTokenMasterKey(containerTokenMasterKey); response.setNMTokenMasterKey(nmTokenMasterKey); response.setNextHeartBeatInterval(nextHeartbeatInterval); if(containersToCleanUp != null) { response.addAllContainersToCleanup(containersToCleanUp); } if(applicationsToCleanUp != null) { response.addAllApplicationsToCleanup(applicationsToCleanUp); } return response; }