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..f86a2f3 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 @@ -73,8 +73,8 @@ throws IOException { String queue = getQueueForApp(requestedQueue, user, groups, configuredQueues); - if (create || configuredQueues.get(FSQueueType.LEAF).contains(queue) - || configuredQueues.get(FSQueueType.PARENT).contains(queue)) { + if (create || configuredQueues.get(FSQueueType.LEAF).contains(queue) + || (this instanceof Specified && configuredQueues.get(FSQueueType.PARENT).contains(queue))) { return queue; } else { return ""; 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 0e114e1..7106a97 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 @@ -1191,7 +1191,7 @@ FSLeafQueue user1Leaf = scheduler.assignToQueue(rmApp1, "root.default", "user1"); - assertEquals("root.user1group.user1", user1Leaf.getName()); + assertEquals("root.default", user1Leaf.getName()); } @Test 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/TestQueuePlacementPolicy.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/TestQueuePlacementPolicy.java index 32dba5c..283f498 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/TestQueuePlacementPolicy.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/TestQueuePlacementPolicy.java @@ -253,7 +253,7 @@ policy.assignAppToQueue("root.default", "user1")); // Let's configure primary group and check if user queue is created - configuredQueues.get(FSQueueType.PARENT).add("root.user1group"); + configuredQueues.get(FSQueueType.LEAF).add("root.user1group"); policy = parse(sb.toString()); assertEquals("root.user1group.user1", policy.assignAppToQueue("root.default", "user1")); @@ -317,8 +317,8 @@ sb.append(""); // Let's create couple of parent queues - configuredQueues.get(FSQueueType.PARENT).add("root.parent1"); - configuredQueues.get(FSQueueType.PARENT).add("root.parent2"); + configuredQueues.get(FSQueueType.LEAF).add("root.parent1"); + configuredQueues.get(FSQueueType.LEAF).add("root.parent2"); QueuePlacementPolicy policy = parse(sb.toString()); assertEquals("root.parent1.user1",