YARN-2643. Don't create a new DominantResourceCalculator on every FairScheduler.allocate call. (kasha via rkanter)
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/51881535 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/51881535 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/51881535 Branch: refs/heads/HDFS-6994 Commit: 51881535e659940b1b332d0c5952ee1f9958cc7f Parents: 6f3a63a Author: Robert Kanter <[email protected]> Authored: Mon Jan 12 17:51:00 2015 -0800 Committer: Robert Kanter <[email protected]> Committed: Mon Jan 12 17:51:00 2015 -0800 ---------------------------------------------------------------------- hadoop-yarn-project/CHANGES.txt | 3 +++ .../server/resourcemanager/scheduler/fair/FairScheduler.java | 7 +++++-- 2 files changed, 8 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/51881535/hadoop-yarn-project/CHANGES.txt ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt index f849960..0afc4cf 100644 --- a/hadoop-yarn-project/CHANGES.txt +++ b/hadoop-yarn-project/CHANGES.txt @@ -180,6 +180,9 @@ Release 2.7.0 - UNRELEASED YARN-2957. Create unit test to automatically compare YarnConfiguration and yarn-default.xml. (rchiang via rkanter) + YARN-2643. Don't create a new DominantResourceCalculator on every + FairScheduler.allocate call. (kasha via rkanter) + OPTIMIZATIONS BUG FIXES http://git-wip-us.apache.org/repos/asf/hadoop/blob/51881535/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 2f0857e..1ace604 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 @@ -127,6 +127,8 @@ public class FairScheduler extends private static final ResourceCalculator RESOURCE_CALCULATOR = new DefaultResourceCalculator(); + private static final ResourceCalculator DOMINANT_RESOURCE_CALCULATOR = + new DominantResourceCalculator(); // Value that container assignment methods return when a container is // reserved @@ -878,7 +880,8 @@ public class FairScheduler extends @Override public Allocation allocate(ApplicationAttemptId appAttemptId, - List<ResourceRequest> ask, List<ContainerId> release, List<String> blacklistAdditions, List<String> blacklistRemovals) { + List<ResourceRequest> ask, List<ContainerId> release, + List<String> blacklistAdditions, List<String> blacklistRemovals) { // Make sure this application exists FSAppAttempt application = getSchedulerApp(appAttemptId); @@ -889,7 +892,7 @@ public class FairScheduler extends } // Sanity check - SchedulerUtils.normalizeRequests(ask, new DominantResourceCalculator(), + SchedulerUtils.normalizeRequests(ask, DOMINANT_RESOURCE_CALCULATOR, clusterResource, minimumAllocation, getMaximumResourceCapability(), incrAllocation);
