Repository: hadoop Updated Branches: refs/heads/branch-2 25c2597f9 -> 23b5c7172
YARN-4690. Skip object allocation in FSAppAttempt#getResourceUsage when possible (Ming Ma via sjlee) (cherry picked from commit 7de70680fe44967e2afc92ba4c92f8e7afa7b151) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/23b5c717 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/23b5c717 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/23b5c717 Branch: refs/heads/branch-2 Commit: 23b5c71729c26c2879e6cc41ce5862af0215d1fa Parents: 25c2597 Author: Sangjin Lee <sj...@apache.org> Authored: Wed Feb 17 20:55:21 2016 -0800 Committer: Sangjin Lee <sj...@apache.org> Committed: Wed Feb 17 21:05:10 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/23b5c717/hadoop-yarn-project/CHANGES.txt ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt index 50c913a..38a672f 100644 --- a/hadoop-yarn-project/CHANGES.txt +++ b/hadoop-yarn-project/CHANGES.txt @@ -2312,6 +2312,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/23b5c717/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