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 49d2166..647bf0d 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 @@ -190,7 +190,16 @@ public class FSLeafQueue extends FSQueue { void updateInternal() { readLock.lock(); try { - policy.computeShares(runnableApps, getFairShare()); + long runnableAppsSize = runnableApps.size(); + if(runnableAppsSize != 0) + { + long runnableAppShare = (long)Math.ceil((double)(getFairShare().getMemorySize())/(double)runnableAppsSize); + for(FSAppAttempt appSched : runnableApps) + { + Resource target = appSched.getFairShare(); + target.setMemorySize(runnableAppShare); + } + } } finally { readLock.unlock(); }