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/fair/FSLeafQueue.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FSLeafQueue.java index 7c9b11e..465db33 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FSLeafQueue.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FSLeafQueue.java @@ -262,37 +262,26 @@ public Resource getAmResourceUsage() { @Override public void updateDemand() { - // Compute demand by iterating through apps in the queue - // Limit demand to maxResources - Resource maxRes = scheduler.getAllocationConfiguration() - .getMaxResources(getName()); demand = Resources.createResource(0); readLock.lock(); try { for (FSAppAttempt sched : runnableApps) { - if (Resources.equals(demand, maxRes)) { - break; - } - updateDemandForApp(sched, maxRes); + updateDemandForApp(sched); } for (FSAppAttempt sched : nonRunnableApps) { - if (Resources.equals(demand, maxRes)) { - break; - } - updateDemandForApp(sched, maxRes); + updateDemandForApp(sched); } } finally { readLock.unlock(); } if (LOG.isDebugEnabled()) { - LOG.debug("The updated demand for " + getName() + " is " + demand - + "; the max is " + maxRes); + LOG.debug("The updated demand for " + getName() + " is " + demand); LOG.debug("The updated fairshare for " + getName() + " is " + getFairShare()); } } - private void updateDemandForApp(FSAppAttempt sched, Resource maxRes) { + private void updateDemandForApp(FSAppAttempt sched) { sched.updateDemand(); Resource toAdd = sched.getDemand(); if (LOG.isDebugEnabled()) { @@ -301,7 +290,6 @@ private void updateDemandForApp(FSAppAttempt sched, Resource maxRes) { + demand); } demand = Resources.add(demand, toAdd); - demand = Resources.componentwiseMin(demand, maxRes); } @Override 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/fair/FSParentQueue.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FSParentQueue.java index 035c60c..5c81d9d 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FSParentQueue.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FSParentQueue.java @@ -150,10 +150,6 @@ public Resource getResourceUsage() { @Override public void updateDemand() { - // Compute demand by iterating through apps in the queue - // Limit demand to maxResources - Resource maxRes = scheduler.getAllocationConfiguration() - .getMaxResources(getName()); writeLock.lock(); try { demand = Resources.createResource(0); @@ -166,18 +162,13 @@ public void updateDemand() { " now " + demand); } demand = Resources.add(demand, toAdd); - demand = Resources.componentwiseMin(demand, maxRes); - if (Resources.equals(demand, maxRes)) { - break; - } } } finally { writeLock.unlock(); } if (LOG.isDebugEnabled()) { - LOG.debug("The updated demand for " + getName() + " is " + demand + - "; the max is " + maxRes); - } + LOG.debug("The updated demand for " + getName() + " is " + demand); + } } private QueueUserACLInfo getUserAclInfo(UserGroupInformation user) {