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/FairScheduler.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FairScheduler.java index b5d58d44766608a7304ff3e63c3f7e579ca2c1ce..e89c097c9daaa6dc641feb3592b11687fb5f36f3 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FairScheduler.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FairScheduler.java @@ -734,6 +734,11 @@ FSLeafQueue assignToQueue(RMApp rmApp, String queueName, String user) { appRejectMsg = queueName + " is not a leaf queue"; } } + } catch (IllegalStateException se) { + appRejectMsg = "Unable to match app " + rmApp.getApplicationId() + + " to a queue placement policy. Check with an administrator to" + + " make sure submitting to a valid queue and/or check that the" + + " queue placement policies have the create property set to true."; } catch (InvalidQueueNameException qne) { appRejectMsg = qne.getMessage(); } catch (IOException ioe) { 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 0dbc99be7bed37e9cb7754e14964871d233189e5..6525b3dc29a5ec16da80352a24e7bc1dbe930899 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 @@ -133,7 +133,12 @@ public void testTerminals() throws Exception { sb.append(" "); sb.append(" "); sb.append(""); - parse(sb.toString()); + QueuePlacementPolicy policy = parse(sb.toString()); + try { + policy.assignAppToQueue("root.default", "user1"); + fail("Expect exception from having default rule with create=\'false\'"); + } catch (IllegalStateException se) { + } } @Test