/** * Put a node in deactivated (decommissioned or shutdown) status. * @param rmNode * @param finalState */ public static void deactivateNode(RMNodeImpl rmNode, NodeState finalState) { if (rmNode.getNodeID().getPort() == -1) { rmNode.updateMetricsForDeactivatedNode(rmNode.getState(), finalState); return; } reportNodeUnusable(rmNode, finalState); // Deactivate the node rmNode.context.getRMNodes().remove(rmNode.nodeId); LOG.info("Deactivating Node " + rmNode.nodeId + " as it is now " + finalState); rmNode.context.getInactiveRMNodes().put(rmNode.nodeId, rmNode); if (rmNode.context.getNodesListManager().isUntrackedNode(rmNode.hostName)) { rmNode.setUntrackedTimeStamp(Time.monotonicNow()); } }
return NodeState.DECOMMISSIONING; } else { reportNodeUnusable(rmNode, NodeState.UNHEALTHY); return NodeState.UNHEALTHY;