diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java index 805a87e1bd048..02ffe83a6df7c 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java @@ -604,7 +604,10 @@ static void schedule(CapacityScheduler cs) throws InterruptedException{ if (candidates == null) { continue; } - cs.allocateContainersToNode(candidates, false); + int nodesPerPartitionCount = candidates.getAllNodes().size(); + for (int i = 0; i < nodesPerPartitionCount; i++) { + cs.allocateContainersToNode(candidates, false); + } } } @@ -620,7 +623,10 @@ static void schedule(CapacityScheduler cs) throws InterruptedException{ if (candidates == null) { continue; } - cs.allocateContainersToNode(candidates, false); + int nodesPerPartitionCount = candidates.getAllNodes().size(); + for (int i = 0; i < nodesPerPartitionCount; i++) { + cs.allocateContainersToNode(candidates, false); + } } }