public Integer getDecommissioningTimeout(NodeId nodeid) { return this.getRMContext().getRMNodes() .get(nodeid).getDecommissioningTimeout(); }
nodesToDecom.add(n); } else if (s == NodeState.DECOMMISSIONING && !Objects.equals(n.getDecommissioningTimeout(), timeoutToUse)) { LOG.info("Update " + nodeStr + " timeout to be " + timeoutToUse);
private void handleNodeUpdates(RMApp app, AllocateResponse allocateResponse) { Map<RMNode, NodeUpdateType> updatedNodes = new HashMap<>(); if(app.pullRMNodeUpdates(updatedNodes) > 0) { List<NodeReport> updatedNodeReports = new ArrayList<>(); for(Map.Entry<RMNode, NodeUpdateType> rmNodeEntry : updatedNodes.entrySet()) { RMNode rmNode = rmNodeEntry.getKey(); SchedulerNodeReport schedulerNodeReport = getScheduler().getNodeReport(rmNode.getNodeID()); Resource used = BuilderUtils.newResource(0, 0); int numContainers = 0; if (schedulerNodeReport != null) { used = schedulerNodeReport.getUsedResource(); numContainers = schedulerNodeReport.getNumContainers(); } NodeId nodeId = rmNode.getNodeID(); NodeReport report = BuilderUtils.newNodeReport(nodeId, rmNode.getState(), rmNode.getHttpAddress(), rmNode.getRackName(), used, rmNode.getTotalCapability(), numContainers, rmNode.getHealthReport(), rmNode.getLastHealthReportTime(), rmNode.getNodeLabels(), rmNode.getDecommissioningTimeout(), rmNodeEntry.getValue()); updatedNodeReports.add(report); } allocateResponse.setUpdatedNodes(updatedNodeReports); } }
if (context == null) { context = new DecommissioningNodeContext(rmNode.getNodeID(), rmNode.getDecommissioningTimeout()); decomNodes.put(rmNode.getNodeID(), context); context.nodeState = rmNode.getState(); context.decommissionedTime = 0; context.updateTimeout(rmNode.getDecommissioningTimeout()); context.lastUpdateTime = now;
private NodeReport createNodeReports(RMNode rmNode) { SchedulerNodeReport schedulerNodeReport = scheduler.getNodeReport(rmNode.getNodeID()); Resource used = BuilderUtils.newResource(0, 0); int numContainers = 0; if (schedulerNodeReport != null) { used = schedulerNodeReport.getUsedResource(); numContainers = schedulerNodeReport.getNumContainers(); } Set<NodeAttribute> attrs = rmNode.getAllNodeAttributes(); NodeReport report = BuilderUtils.newNodeReport(rmNode.getNodeID(), rmNode.getState(), rmNode.getHttpAddress(), rmNode.getRackName(), used, rmNode.getTotalCapability(), numContainers, rmNode.getHealthReport(), rmNode.getLastHealthReportTime(), rmNode.getNodeLabels(), rmNode.getAggregatedContainersUtilization(), rmNode.getNodeUtilization(), rmNode.getDecommissioningTimeout(), null, attrs); return report; }