|
@@ -45,6 +45,7 @@ import org.apache.hadoop.yarn.conf.YarnConfiguration;
|
|
|
import org.apache.hadoop.yarn.exceptions.YarnException;
|
|
|
import org.apache.hadoop.yarn.exceptions.YarnRuntimeException;
|
|
|
import org.apache.hadoop.yarn.proto.YarnServiceProtos.SchedulerResourceTypes;
|
|
|
+import org.apache.hadoop.yarn.server.api.protocolrecords.NMContainerStatus;
|
|
|
import org.apache.hadoop.yarn.server.resourcemanager.RMContext;
|
|
|
import org.apache.hadoop.yarn.server.resourcemanager.recovery.RMStateStore.RMState;
|
|
|
import org.apache.hadoop.yarn.server.resourcemanager.reservation.ReservationConstants;
|
|
@@ -841,11 +842,11 @@ public class FairScheduler extends
|
|
|
+ " with event: " + event);
|
|
|
}
|
|
|
|
|
|
- private synchronized void addNode(RMNode node) {
|
|
|
+ private synchronized void addNode(List<NMContainerStatus> containerReports,
|
|
|
+ RMNode node) {
|
|
|
FSSchedulerNode schedulerNode = new FSSchedulerNode(node, usePortForNodeName);
|
|
|
nodes.put(node.getNodeID(), schedulerNode);
|
|
|
Resources.addTo(clusterResource, node.getTotalCapability());
|
|
|
- updateRootQueueMetrics();
|
|
|
updateMaximumAllocation(schedulerNode, true);
|
|
|
|
|
|
triggerUpdate();
|
|
@@ -854,6 +855,9 @@ public class FairScheduler extends
|
|
|
queueMgr.getRootQueue().recomputeSteadyShares();
|
|
|
LOG.info("Added node " + node.getNodeAddress() +
|
|
|
" cluster capacity: " + clusterResource);
|
|
|
+
|
|
|
+ recoverContainersOnNode(containerReports, node);
|
|
|
+ updateRootQueueMetrics();
|
|
|
}
|
|
|
|
|
|
private synchronized void removeNode(RMNode rmNode) {
|
|
@@ -1147,8 +1151,7 @@ public class FairScheduler extends
|
|
|
throw new RuntimeException("Unexpected event type: " + event);
|
|
|
}
|
|
|
NodeAddedSchedulerEvent nodeAddedEvent = (NodeAddedSchedulerEvent)event;
|
|
|
- addNode(nodeAddedEvent.getAddedRMNode());
|
|
|
- recoverContainersOnNode(nodeAddedEvent.getContainerReports(),
|
|
|
+ addNode(nodeAddedEvent.getContainerReports(),
|
|
|
nodeAddedEvent.getAddedRMNode());
|
|
|
break;
|
|
|
case NODE_REMOVED:
|