Repository: hadoop Updated Branches: refs/heads/trunk a0c95b5fc -> 7de70680f
YARN-4690. Skip object allocation in FSAppAttempt#getResourceUsage when possible (Ming Ma via sjlee) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/7de70680 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/7de70680 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/7de70680 Branch: refs/heads/trunk Commit: 7de70680fe44967e2afc92ba4c92f8e7afa7b151 Parents: a0c95b5 Author: Sangjin Lee <sj...@apache.org> Authored: Wed Feb 17 20:55:21 2016 -0800 Committer: Sangjin Lee <sj...@twitter.com> Committed: Wed Feb 17 20:55:21 2016 -0800 ---------------------------------------------------------------------- hadoop-yarn-project/CHANGES.txt | 3 +++ .../server/resourcemanager/scheduler/fair/FSAppAttempt.java | 7 ++++++- 2 files changed, 9 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/7de70680/hadoop-yarn-project/CHANGES.txt ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt index c172054..fa0ba44 100644 --- a/hadoop-yarn-project/CHANGES.txt +++ b/hadoop-yarn-project/CHANGES.txt @@ -2362,6 +2362,9 @@ Release 2.6.5 - UNRELEASED OPTIMIZATIONS + YARN-4690. Skip object allocation in FSAppAttempt#getResourceUsage when + possible (Ming Ma via sjlee) + BUG FIXES Release 2.6.4 - 2016-02-11 http://git-wip-us.apache.org/repos/asf/hadoop/blob/7de70680/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 488f34e..7e0a693 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 @@ -890,7 +890,12 @@ public class FSAppAttempt extends SchedulerApplicationAttempt public Resource getResourceUsage() { // Here the getPreemptedResources() always return zero, except in // a preemption round - return Resources.subtract(getCurrentConsumption(), getPreemptedResources()); + // In the common case where preempted resource is zero, return the + // current consumption Resource object directly without calling + // Resources.subtract which creates a new Resource object for each call. + return getPreemptedResources().equals(Resources.none()) ? + getCurrentConsumption() : + Resources.subtract(getCurrentConsumption(), getPreemptedResources()); } @Override