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