Skip to content

Commit f8f8598

Browse files
committed
YARN-9824. Fall back to configured queue ordering policy class name
1 parent 10144a5 commit f8f8598

File tree

1 file changed

+10
-7
lines changed
  • hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity

1 file changed

+10
-7
lines changed

hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacitySchedulerConfiguration.java

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1552,20 +1552,23 @@ public QueueOrderingPolicy getQueueOrderingPolicy(String queue,
15521552
}
15531553

15541554
String policyType = get(getQueuePrefix(queue) + ORDERING_POLICY,
1555-
defaultPolicy);
1555+
defaultPolicy).trim();
15561556

15571557
QueueOrderingPolicy qop;
1558-
if (policyType.trim().equals(QUEUE_UTILIZATION_ORDERING_POLICY)) {
1558+
if (policyType.equals(QUEUE_UTILIZATION_ORDERING_POLICY)) {
15591559
// Doesn't respect priority
15601560
qop = new PriorityUtilizationQueueOrderingPolicy(false);
1561-
} else if (policyType.trim().equals(
1561+
} else if (policyType.equals(
15621562
QUEUE_PRIORITY_UTILIZATION_ORDERING_POLICY)) {
15631563
qop = new PriorityUtilizationQueueOrderingPolicy(true);
15641564
} else {
1565-
String message =
1566-
"Unable to construct queue ordering policy=" + policyType + " queue="
1567-
+ queue;
1568-
throw new YarnRuntimeException(message);
1565+
try {
1566+
qop = (QueueOrderingPolicy) Class.forName(policyType).newInstance();
1567+
} catch (Exception e) {
1568+
String message = "Unable to construct queue ordering policy="
1569+
+ policyType + " queue=" + queue;
1570+
throw new YarnRuntimeException(message, e);
1571+
}
15691572
}
15701573

15711574
return qop;

0 commit comments

Comments
 (0)