in myriad-scheduler/src/main/java/org/apache/myriad/scheduler/fgs/YarnNodeCapacityManager.java [163:194]
public void afterSchedulerEventHandled(SchedulerEvent event) {
switch (event.getType()) {
case NODE_ADDED:
if (!(event instanceof NodeAddedSchedulerEvent)) {
LOGGER.error("{} not an instance of {}", event.getClass().getName(), NodeAddedSchedulerEvent.class.getName());
return;
}
NodeAddedSchedulerEvent nodeAddedEvent = (NodeAddedSchedulerEvent) event;
NodeId nodeId = nodeAddedEvent.getAddedRMNode().getNodeID();
String host = nodeId.getHost();
SchedulerNode node = yarnScheduler.getSchedulerNode(nodeId);
nodeStore.add(node);
LOGGER.info("afterSchedulerEventHandled: NM registration from node {}", host);
break;
case NODE_UPDATE:
if (!(event instanceof NodeUpdateSchedulerEvent)) {
LOGGER.error("{} not an instance of {}", event.getClass().getName(), NodeUpdateSchedulerEvent.class.getName());
return;
}
RMNode rmNode = ((NodeUpdateSchedulerEvent) event).getRMNode();
handleContainerAllocation(rmNode);
break;
default:
break;
}
}