Repository: hadoop Updated Branches: refs/heads/branch-2.7 0abb36636 -> 27aeab63c
YARN-5055. max apps per user can be larger than max per queue. Contributed by Eric Badger (cherry picked from commit ac954486c5102b8fbbc4229a0d3a512bcc7013c0) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/27aeab63 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/27aeab63 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/27aeab63 Branch: refs/heads/branch-2.7 Commit: 27aeab63c779def146467873301b1d73d8454a10 Parents: 0abb366 Author: Jason Lowe <jl...@apache.org> Authored: Mon May 23 15:57:54 2016 +0000 Committer: Jason Lowe <jl...@apache.org> Committed: Mon May 23 15:57:54 2016 +0000 ---------------------------------------------------------------------- hadoop-yarn-project/CHANGES.txt | 3 +++ .../resourcemanager/scheduler/capacity/LeafQueue.java | 4 ++-- .../scheduler/capacity/TestApplicationLimits.java | 9 +++++---- .../webapp/TestRMWebServicesCapacitySched.java | 5 +++-- 4 files changed, 13 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/27aeab63/hadoop-yarn-project/CHANGES.txt ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt index 8a1cabf..a13e78e 100644 --- a/hadoop-yarn-project/CHANGES.txt +++ b/hadoop-yarn-project/CHANGES.txt @@ -139,6 +139,9 @@ Release 2.7.3 - UNRELEASED YARN-4747. AHS error 500 due to NPE when container start event is missing (Varun Saxena via jlowe) + YARN-5055. max apps per user can be larger than max per queue (Eric Badger + via jlowe) + Release 2.7.2 - 2016-01-25 INCOMPATIBLE CHANGES http://git-wip-us.apache.org/repos/asf/hadoop/blob/27aeab63/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/LeafQueue.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/capacity/LeafQueue.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/LeafQueue.java index e8daa88..9649687 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/LeafQueue.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/LeafQueue.java @@ -170,8 +170,8 @@ public class LeafQueue extends AbstractCSQueue { maxApplications = (int) (maxSystemApps * queueCapacities.getAbsoluteCapacity()); } - maxApplicationsPerUser = - (int)(maxApplications * (userLimit / 100.0f) * userLimitFactor); + maxApplicationsPerUser = Math.min(maxApplications, + (int)(maxApplications * (userLimit / 100.0f) * userLimitFactor)); maxAMResourcePerQueuePercent = conf.getMaximumApplicationMasterResourcePerQueuePercent(getQueuePath()); http://git-wip-us.apache.org/repos/asf/hadoop/blob/27aeab63/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestApplicationLimits.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestApplicationLimits.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestApplicationLimits.java index a1cce6c..3b6fd97 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestApplicationLimits.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestApplicationLimits.java @@ -310,8 +310,9 @@ public class TestApplicationLimits { queue.getAbsoluteCapacity()); assertEquals(expectedMaxApps, queue.getMaxApplications()); - int expectedMaxAppsPerUser = (int)(expectedMaxApps * - (queue.getUserLimit()/100.0f) * queue.getUserLimitFactor()); + int expectedMaxAppsPerUser = Math.min(expectedMaxApps, + (int)(expectedMaxApps * (queue.getUserLimit()/100.0f) * + queue.getUserLimitFactor())); assertEquals(expectedMaxAppsPerUser, queue.getMaxApplicationsPerUser()); // should default to global setting if per queue setting not set @@ -360,8 +361,8 @@ public class TestApplicationLimits { assertEquals(9999, (int)csConf.getMaximumApplicationsPerQueue(queue.getQueuePath())); assertEquals(9999, queue.getMaxApplications()); - expectedMaxAppsPerUser = (int)(9999 * - (queue.getUserLimit()/100.0f) * queue.getUserLimitFactor()); + expectedMaxAppsPerUser = Math.min(9999, (int)(9999 * + (queue.getUserLimit()/100.0f) * queue.getUserLimitFactor())); assertEquals(expectedMaxAppsPerUser, queue.getMaxApplicationsPerUser()); } http://git-wip-us.apache.org/repos/asf/hadoop/blob/27aeab63/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySched.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySched.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySched.java index de0ec24..e6cb121 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySched.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySched.java @@ -433,8 +433,9 @@ public class TestRMWebServicesCapacitySched extends JerseyTestBase { int maxSystemApps = csConf.getMaximumSystemApplications(); int expectedMaxApps = (int)(maxSystemApps * (info.absoluteCapacity/100)); - int expectedMaxAppsPerUser = - (int)(expectedMaxApps * (info.userLimit/100.0f) * info.userLimitFactor); + int expectedMaxAppsPerUser = Math.min(expectedMaxApps, + (int)(expectedMaxApps * (info.userLimit/100.0f) * + info.userLimitFactor)); // TODO: would like to use integer comparisons here but can't due to // roundoff errors in absolute capacity calculations --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org