diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FairScheduler.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FairScheduler.java index d779159..6f9f049 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FairScheduler.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FairScheduler.java @@ -1046,18 +1046,15 @@ void attemptScheduling(FSSchedulerNode node) { Resource maxResourcesToAssign = Resources.multiply( node.getUnallocatedResource(), 0.5f); while (node.getReservedContainer() == null) { - boolean assignedContainer = false; Resource assignment = queueMgr.getRootQueue().assignContainer(node); - if (!assignment.equals(Resources.none())) { - assignedContainers++; - assignedContainer = true; - Resources.addTo(assignedResource, assignment); - } - if (!assignedContainer) { + if (assignment.equals(Resources.none())) { break; } - if (!shouldContinueAssigning(assignedContainers, maxResourcesToAssign, - assignedResource)) { + + assignedContainers++; + Resources.addTo(assignedResource, assignment); + if (!shouldContinueAssigning(assignedContainers, + maxResourcesToAssign, assignedResource)) { break; } }