You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by ep...@apache.org on 2020/01/23 15:48:09 UTC
[hadoop] branch branch-3.2 updated: YARN-9790. Failed to set
default-application-lifetime if maximum-application-lifetime is less than
or equal to zero. Contributed by kyungwan nam.
This is an automated email from the ASF dual-hosted git repository.
epayne pushed a commit to branch branch-3.2
in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/branch-3.2 by this push:
new be41254 YARN-9790. Failed to set default-application-lifetime if maximum-application-lifetime is less than or equal to zero. Contributed by kyungwan nam.
be41254 is described below
commit be412546bef0168ed2d59c71d5059fdd7a4f3a4b
Author: Abhishek Modi <ab...@apache.org>
AuthorDate: Sun Sep 1 09:54:46 2019 +0530
YARN-9790. Failed to set default-application-lifetime if maximum-application-lifetime is less than or equal to zero. Contributed by kyungwan nam.
(cherry picked from commit d2d963f3d4819704351c04dbeb90fc8154488f91)
---
.../scheduler/capacity/CapacityScheduler.java | 3 ++-
.../resourcemanager/scheduler/capacity/LeafQueue.java | 3 ++-
.../scheduler/capacity/TestCapacityScheduler.java | 19 ++++++++++++++++---
3 files changed, 20 insertions(+), 5 deletions(-)
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/CapacityScheduler.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/CapacityScheduler.java
index 9017515..7534217 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/CapacityScheduler.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/CapacityScheduler.java
@@ -3188,7 +3188,8 @@ public class CapacityScheduler extends
// check only for maximum, that's enough because default can't
// exceed maximum
if (maximumApplicationLifetime <= 0) {
- return lifetimeRequestedByApp;
+ return (lifetimeRequestedByApp <= 0) ? defaultApplicationLifetime :
+ lifetimeRequestedByApp;
}
if (lifetimeRequestedByApp <= 0) {
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 a6c78e5..fdf04eb 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
@@ -263,7 +263,8 @@ public class LeafQueue extends AbstractCSQueue {
conf.getMaximumLifetimePerQueue((getQueuePath()));
defaultApplicationLifetime =
conf.getDefaultLifetimePerQueue((getQueuePath()));
- if (defaultApplicationLifetime > maxApplicationLifetime) {
+ if (maxApplicationLifetime > 0 &&
+ defaultApplicationLifetime > maxApplicationLifetime) {
throw new YarnRuntimeException(
"Default lifetime" + defaultApplicationLifetime
+ " can't exceed maximum lifetime " + maxApplicationLifetime);
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/TestCapacityScheduler.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/TestCapacityScheduler.java
index 5572960..6c5ecc5 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/TestCapacityScheduler.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/TestCapacityScheduler.java
@@ -4891,7 +4891,8 @@ public class TestCapacityScheduler extends CapacitySchedulerTestBase {
Assert.assertEquals(100, cs.checkAndGetApplicationLifetime("default", 100));
Assert.assertEquals(defaultLifetime,
cs.checkAndGetApplicationLifetime("default", -1));
- Assert.assertEquals(0, cs.checkAndGetApplicationLifetime("default", 0));
+ Assert.assertEquals(defaultLifetime,
+ cs.checkAndGetApplicationLifetime("default", 0));
Assert.assertEquals(maxLifetime,
cs.getMaximumApplicationLifetime("default"));
@@ -4911,8 +4912,10 @@ public class TestCapacityScheduler extends CapacitySchedulerTestBase {
defaultLifetime = 0;
cs = setUpCSQueue(maxLifetime, defaultLifetime);
Assert.assertEquals(100, cs.checkAndGetApplicationLifetime("default", 100));
- Assert.assertEquals(-1, cs.checkAndGetApplicationLifetime("default", -1));
- Assert.assertEquals(0, cs.checkAndGetApplicationLifetime("default", 0));
+ Assert.assertEquals(defaultLifetime,
+ cs.checkAndGetApplicationLifetime("default", -1));
+ Assert.assertEquals(defaultLifetime,
+ cs.checkAndGetApplicationLifetime("default", 0));
maxLifetime = 10;
defaultLifetime = -1;
@@ -4933,6 +4936,16 @@ public class TestCapacityScheduler extends CapacitySchedulerTestBase {
Assert.assertTrue(
ye.getMessage().contains("can't exceed maximum lifetime"));
}
+
+ maxLifetime = -1;
+ defaultLifetime = 10;
+ cs = setUpCSQueue(maxLifetime, defaultLifetime);
+ Assert.assertEquals(100,
+ cs.checkAndGetApplicationLifetime("default", 100));
+ Assert.assertEquals(defaultLifetime,
+ cs.checkAndGetApplicationLifetime("default", -1));
+ Assert.assertEquals(defaultLifetime,
+ cs.checkAndGetApplicationLifetime("default", 0));
}
private CapacityScheduler setUpCSQueue(long maxLifetime,
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org