diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/QueuePlacementPolicy.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/QueuePlacementPolicy.java index d802e70..1fd18e7 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/QueuePlacementPolicy.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/QueuePlacementPolicy.java @@ -80,7 +80,13 @@ public static QueuePlacementPolicy fromXml(Element el, Set configuredQue Node node = elements.item(i); if (node instanceof Element) { Element element = (Element)node; - String ruleName = element.getTagName(); + + String ruleName = element.getAttribute("name"); + if ("".equals(ruleName)) { + throw new AllocationConfigurationException("No name provided for a " + + "rule element"); + } + Class clazz = ruleClasses.get(ruleName); if (clazz == null) { throw new AllocationConfigurationException("No rule class found for " diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/TestAllocationFileLoaderService.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/TestAllocationFileLoaderService.java index dc28a3b..939d53b 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/TestAllocationFileLoaderService.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/TestAllocationFileLoaderService.java @@ -75,7 +75,7 @@ public void testReload() throws Exception { out.println(" "); out.println(" "); out.println(" "); - out.println(" "); + out.println(" "); out.println(" "); out.println(""); out.close(); @@ -113,8 +113,8 @@ public void testReload() throws Exception { out.println(" 3"); out.println(" "); out.println(" "); - out.println(" "); - out.println(" "); + out.println(" "); + out.println(" "); out.println(" "); out.println(""); out.close(); diff --git 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 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 130fe35..5b5a51f 100644 --- 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 +++ 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 @@ -49,8 +49,8 @@ public static void setup() { public void testSpecifiedUserPolicy() throws Exception { StringBuffer sb = new StringBuffer(); sb.append(""); - sb.append(" "); - sb.append(" "); + sb.append(" "); + sb.append(" "); sb.append(""); QueuePlacementPolicy policy = parse(sb.toString()); assertEquals("root.specifiedq",policy.assignAppToQueue("specifiedq", "someuser")); @@ -62,9 +62,9 @@ public void testSpecifiedUserPolicy() throws Exception { public void testNoCreate() throws Exception { StringBuffer sb = new StringBuffer(); sb.append(""); - sb.append(" "); - sb.append(" "); - sb.append(" "); + sb.append(" "); + sb.append(" "); + sb.append(" "); sb.append(""); QueuePlacementPolicy policy = parse(sb.toString()); assertEquals("root.specifiedq", policy.assignAppToQueue("specifiedq", "someuser")); @@ -77,8 +77,8 @@ public void testNoCreate() throws Exception { public void testSpecifiedThenReject() throws Exception { StringBuffer sb = new StringBuffer(); sb.append(""); - sb.append(" "); - sb.append(" "); + sb.append(" "); + sb.append(" "); sb.append(""); QueuePlacementPolicy policy = parse(sb.toString()); assertEquals("root.specifiedq", policy.assignAppToQueue("specifiedq", "someuser")); @@ -89,8 +89,8 @@ public void testSpecifiedThenReject() throws Exception { public void testOmittedTerminalRule() throws Exception { StringBuffer sb = new StringBuffer(); sb.append(""); - sb.append(" "); - sb.append(" "); + sb.append(" "); + sb.append(" "); sb.append(""); parse(sb.toString()); } @@ -99,9 +99,9 @@ public void testOmittedTerminalRule() throws Exception { public void testTerminalRuleInMiddle() throws Exception { StringBuffer sb = new StringBuffer(); sb.append(""); - sb.append(" "); - sb.append(" "); - sb.append(" "); + sb.append(" "); + sb.append(" "); + sb.append(" "); sb.append(""); parse(sb.toString()); } diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/apt/FairScheduler.apt.vm hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/apt/FairScheduler.apt.vm index 29b9fd3..588c44c 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/apt/FairScheduler.apt.vm +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/apt/FairScheduler.apt.vm @@ -318,9 +318,9 @@ Allocation file format 5 - - - + + + ---