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 ka...@apache.org on 2015/05/10 00:41:33 UTC
hadoop git commit: YARN-3395. FairScheduler: Trim whitespaces when
using username for queuename. (Zhihai Xu via kasha)
Repository: hadoop
Updated Branches:
refs/heads/trunk 1773aac78 -> a60f78e98
YARN-3395. FairScheduler: Trim whitespaces when using username for queuename. (Zhihai Xu via kasha)
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/a60f78e9
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/a60f78e9
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/a60f78e9
Branch: refs/heads/trunk
Commit: a60f78e98ed73ab320576c652c577f119ce70901
Parents: 1773aac
Author: Karthik Kambatla <ka...@apache.org>
Authored: Sat May 9 15:41:20 2015 -0700
Committer: Karthik Kambatla <ka...@apache.org>
Committed: Sat May 9 15:41:20 2015 -0700
----------------------------------------------------------------------
hadoop-yarn-project/CHANGES.txt | 3 ++
.../scheduler/fair/QueuePlacementRule.java | 4 ++-
.../scheduler/fair/TestFairScheduler.java | 35 ++++++++++++++++++++
3 files changed, 41 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/a60f78e9/hadoop-yarn-project/CHANGES.txt
----------------------------------------------------------------------
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index ba73b2e..9791411 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -221,6 +221,9 @@ Release 2.8.0 - UNRELEASED
YARN-1287. Consolidate MockClocks.
(Sebastian Wong and Anubhav Dhoot via kasha)
+ YARN-3395. FairScheduler: Trim whitespaces when using username for
+ queuename. (Zhihai Xu via kasha)
+
OPTIMIZATIONS
YARN-3339. TestDockerContainerExecutor should pull a single image and not
http://git-wip-us.apache.org/repos/asf/hadoop/blob/a60f78e9/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/QueuePlacementRule.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/QueuePlacementRule.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/QueuePlacementRule.java
index 80de315..f2e32e6 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/QueuePlacementRule.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/QueuePlacementRule.java
@@ -345,9 +345,11 @@ public abstract class QueuePlacementRule {
}
/**
- * Replace the periods in the username or groupname with "_dot_".
+ * Replace the periods in the username or groupname with "_dot_" and
+ * remove trailing and leading whitespace.
*/
protected String cleanName(String name) {
+ name = name.trim();
if (name.contains(".")) {
String converted = name.replaceAll("\\.", "_dot_");
LOG.warn("Name " + name + " is converted to " + converted
http://git-wip-us.apache.org/repos/asf/hadoop/blob/a60f78e9/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/TestFairScheduler.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/fair/TestFairScheduler.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/TestFairScheduler.java
index a26209b..69e0a8c 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/TestFairScheduler.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/TestFairScheduler.java
@@ -4335,4 +4335,39 @@ public class TestFairScheduler extends FairSchedulerTestBase {
"Failed to initialize FairScheduler"));
}
}
+
+ @Test
+ public void testUserAsDefaultQueueWithLeadingTrailingSpaceUserName()
+ throws Exception {
+ conf.set(FairSchedulerConfiguration.USER_AS_DEFAULT_QUEUE, "true");
+ scheduler.init(conf);
+ scheduler.start();
+ scheduler.reinitialize(conf, resourceManager.getRMContext());
+ ApplicationAttemptId appAttemptId = createAppAttemptId(1, 1);
+ createApplicationWithAMResource(appAttemptId, "default", " user1", null);
+ assertEquals(1, scheduler.getQueueManager().getLeafQueue("user1", true)
+ .getNumRunnableApps());
+ assertEquals(0, scheduler.getQueueManager().getLeafQueue("default", true)
+ .getNumRunnableApps());
+ assertEquals("root.user1", resourceManager.getRMContext().getRMApps()
+ .get(appAttemptId.getApplicationId()).getQueue());
+
+ ApplicationAttemptId attId2 = createAppAttemptId(2, 1);
+ createApplicationWithAMResource(attId2, "default", "user1 ", null);
+ assertEquals(2, scheduler.getQueueManager().getLeafQueue("user1", true)
+ .getNumRunnableApps());
+ assertEquals(0, scheduler.getQueueManager().getLeafQueue("default", true)
+ .getNumRunnableApps());
+ assertEquals("root.user1", resourceManager.getRMContext().getRMApps()
+ .get(attId2.getApplicationId()).getQueue());
+
+ ApplicationAttemptId attId3 = createAppAttemptId(3, 1);
+ createApplicationWithAMResource(attId3, "default", "user1", null);
+ assertEquals(3, scheduler.getQueueManager().getLeafQueue("user1", true)
+ .getNumRunnableApps());
+ assertEquals(0, scheduler.getQueueManager().getLeafQueue("default", true)
+ .getNumRunnableApps());
+ assertEquals("root.user1", resourceManager.getRMContext().getRMApps()
+ .get(attId3.getApplicationId()).getQueue());
+ }
}