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/AbstractCSQueue.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/AbstractCSQueue.java index 28e2d54c494..0fdaf9e24e9 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/AbstractCSQueue.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/AbstractCSQueue.java @@ -710,7 +710,7 @@ protected QueueInfo getQueueInfo() { // consistency here. // TODO, improve this QueueInfo queueInfo = recordFactory.newRecordInstance(QueueInfo.class); - queueInfo.setQueueName(queueName); + queueInfo.setQueueName(queuePath); queueInfo.setAccessibleNodeLabels(accessibleLabels); queueInfo.setCapacity(queueCapacities.getCapacity()); queueInfo.setMaximumCapacity(queueCapacities.getMaximumCapacity()); 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 d5d89cae866..3c043d0da6b 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 @@ -1144,7 +1144,7 @@ public void testRefreshQueuesWithNewQueue() throws Exception { @Test public void testCapacitySchedulerInfo() throws Exception { QueueInfo queueInfo = resourceManager.getResourceScheduler().getQueueInfo("a", true, true); - Assert.assertEquals("Queue Name should be a", "a", + Assert.assertEquals("Queue Name should be root.a", "root.a", queueInfo.getQueueName()); Assert.assertEquals("Child Queues size should be 2", 2, queueInfo.getChildQueues().size()); @@ -4360,13 +4360,13 @@ public void testDefaultNodeLabelExpressionQueueConfig() throws Exception { cs.start(); QueueInfo queueInfoA = cs.getQueueInfo("a", true, false); - Assert.assertEquals("Queue Name should be a", "a", + Assert.assertEquals("Queue Name should be root.a", "root.a", queueInfoA.getQueueName()); Assert.assertEquals("Default Node Label Expression should be x", "x", queueInfoA.getDefaultNodeLabelExpression()); QueueInfo queueInfoB = cs.getQueueInfo("b", true, false); - Assert.assertEquals("Queue Name should be b", "b", + Assert.assertEquals("Queue Name should be root.b", "root.b", queueInfoB.getQueueName()); Assert.assertEquals("Default Node Label Expression should be y", "y", queueInfoB.getDefaultNodeLabelExpression()); 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/TestCapacitySchedulerNewQueueAutoCreation.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/TestCapacitySchedulerNewQueueAutoCreation.java index 4facf943b6e..039c1843b2b 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/TestCapacitySchedulerNewQueueAutoCreation.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/TestCapacitySchedulerNewQueueAutoCreation.java @@ -544,6 +544,31 @@ public void testAutoCreateQueueIfAmbiguousQueueNames() throws Exception { Assert.assertFalse(bAutoLeafQueue.hasChildQueues()); } + @Test + public void testQueueInfoIfAmbiguousQueueNames() throws Exception { + startScheduler(); + + AbstractCSQueue b = (AbstractCSQueue) cs.getQueue("root.b"); + Assert.assertFalse(b.isDynamicQueue()); + Assert.assertEquals("root.b", + b.getQueueInfo().getQueueName()); + + createQueue("root.a.b.b"); + + AbstractCSQueue bAutoParent = (AbstractCSQueue) cs.getQueue("root.a.b"); + Assert.assertTrue(bAutoParent.isDynamicQueue()); + Assert.assertTrue(bAutoParent.hasChildQueues()); + Assert.assertEquals("root.a.b", + bAutoParent.getQueueInfo().getQueueName()); + + AbstractCSQueue bAutoLeafQueue = + (AbstractCSQueue) cs.getQueue("root.a.b.b"); + Assert.assertTrue(bAutoLeafQueue.isDynamicQueue()); + Assert.assertFalse(bAutoLeafQueue.hasChildQueues()); + Assert.assertEquals("root.a.b", + bAutoParent.getQueueInfo().getQueueName()); + } + @Test public void testAutoCreateQueueMaxQueuesLimit() throws Exception { startScheduler();