YARN-7414. FairScheduler#getAppWeight() should be moved into FSAppAttempt#getWeight() (Contributed by Soumabrata Chakraborty via Daniel Templeton)
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/b246c547 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/b246c547 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/b246c547 Branch: refs/heads/YARN-6592 Commit: b246c547490dd94271806ca4caf1e5f199f0fb09 Parents: e094eb7 Author: Daniel Templeton <templ...@apache.org> Authored: Wed Nov 15 09:56:37 2017 -0800 Committer: Daniel Templeton <templ...@apache.org> Committed: Wed Nov 15 10:03:29 2017 -0800 ---------------------------------------------------------------------- .../scheduler/fair/FSAppAttempt.java | 15 ++++++++++++++- .../scheduler/fair/FairScheduler.java | 17 ++--------------- 2 files changed, 16 insertions(+), 16 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/b246c547/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FSAppAttempt.java ---------------------------------------------------------------------- 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/FSAppAttempt.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/FSAppAttempt.java index bbd4418..94991eb 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/FSAppAttempt.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/FSAppAttempt.java @@ -1304,7 +1304,20 @@ public class FSAppAttempt extends SchedulerApplicationAttempt @Override public float getWeight() { - return scheduler.getAppWeight(this); + double weight = 1.0; + + if (scheduler.isSizeBasedWeight()) { + scheduler.getSchedulerReadLock().lock(); + + try { + // Set weight based on current memory demand + weight = Math.log1p(getDemand().getMemorySize()) / Math.log(2); + } finally { + scheduler.getSchedulerReadLock().unlock(); + } + } + + return (float)weight * this.getPriority().getPriority(); } @Override http://git-wip-us.apache.org/repos/asf/hadoop/blob/b246c547/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 ---------------------------------------------------------------------- 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/FairScheduler.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/FairScheduler.java index 7f1b91e..b2978d4 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/FairScheduler.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/FairScheduler.java @@ -368,21 +368,8 @@ public class FairScheduler extends return rmContext.getContainerTokenSecretManager(); } - public float getAppWeight(FSAppAttempt app) { - double weight = 1.0; - - if (sizeBasedWeight) { - readLock.lock(); - - try { - // Set weight based on current memory demand - weight = Math.log1p(app.getDemand().getMemorySize()) / Math.log(2); - } finally { - readLock.unlock(); - } - } - - return (float)weight * app.getPriority().getPriority(); + public boolean isSizeBasedWeight() { + return sizeBasedWeight; } public Resource getIncrementResourceCapability() { --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org