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/AutoCreatedQueueTemplate.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/AutoCreatedQueueTemplate.java index 1603b19cf2..8fa1e130d4 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/AutoCreatedQueueTemplate.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/AutoCreatedQueueTemplate.java @@ -170,8 +170,7 @@ public class AutoCreatedQueueTemplate { int wildcardLevel = 0; // root can not be wildcarded // MAX_WILDCARD_LEVEL will be configurable in the future - int supportedWildcardLevel = Math.min(queuePathMaxIndex - 1, - MAX_WILDCARD_LEVEL); + int supportedWildcardLevel = Math.min(queuePathMaxIndex, MAX_WILDCARD_LEVEL); // Allow root to have template properties if (queuePath.isRoot()) { supportedWildcardLevel = 0; 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/TestAutoCreatedQueueTemplate.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/TestAutoCreatedQueueTemplate.java index 5b58feb21f..e73001b7e5 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/TestAutoCreatedQueueTemplate.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/TestAutoCreatedQueueTemplate.java @@ -88,6 +88,17 @@ public class TestAutoCreatedQueueTemplate { conf.getNonLabeledQueueWeight(ROOT), 10e-6); } + @Test + public void testWildcardAfterRoot() { + conf.set(getTemplateKey("root.*", "acl_submit_applications"), "user"); + AutoCreatedQueueTemplate template = + new AutoCreatedQueueTemplate(conf, new QueuePath("root.a")); + template.setTemplateEntriesForChild(conf, "root.a"); + + Assert.assertEquals("acl_submit_applications is set", "user", + template.getTemplateProperties().get("acl_submit_applications")); + } + @Test public void testTemplatePrecedence() { conf.set(getTemplateKey("root.a.b", "capacity"), "6w");