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/AbstractYarnScheduler.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/AbstractYarnScheduler.java index 3343c5f93118d..512aab7167a08 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/AbstractYarnScheduler.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/AbstractYarnScheduler.java @@ -692,8 +692,8 @@ protected void autoCorrectContainerAllocation(List resourceRequ request.getCapability()); int numContainerAllocated = allocatedContainerMap.getOrDefault(containerObjectType, Collections.emptyList()).size(); - if (numContainerAllocated > 0) { - int numContainerAsk = request.getNumContainers(); + int numContainerAsk = request.getNumContainers(); + if (numContainerAllocated > 0 && numContainerAsk > 0) { int updatedContainerRequest = numContainerAsk - numContainerAllocated; if (updatedContainerRequest < 0) { // add an entry to extra allocated map