|
@@ -1552,20 +1552,23 @@ public class CapacitySchedulerConfiguration extends ReservationSchedulerConfigur
|
|
|
}
|
|
|
|
|
|
String policyType = get(getQueuePrefix(queue) + ORDERING_POLICY,
|
|
|
- defaultPolicy);
|
|
|
+ defaultPolicy).trim();
|
|
|
|
|
|
QueueOrderingPolicy qop;
|
|
|
- if (policyType.trim().equals(QUEUE_UTILIZATION_ORDERING_POLICY)) {
|
|
|
+ if (policyType.equals(QUEUE_UTILIZATION_ORDERING_POLICY)) {
|
|
|
// Doesn't respect priority
|
|
|
qop = new PriorityUtilizationQueueOrderingPolicy(false);
|
|
|
- } else if (policyType.trim().equals(
|
|
|
+ } else if (policyType.equals(
|
|
|
QUEUE_PRIORITY_UTILIZATION_ORDERING_POLICY)) {
|
|
|
qop = new PriorityUtilizationQueueOrderingPolicy(true);
|
|
|
} else {
|
|
|
- String message =
|
|
|
- "Unable to construct queue ordering policy=" + policyType + " queue="
|
|
|
- + queue;
|
|
|
- throw new YarnRuntimeException(message);
|
|
|
+ try {
|
|
|
+ qop = (QueueOrderingPolicy) Class.forName(policyType).newInstance();
|
|
|
+ } catch (Exception e) {
|
|
|
+ String message = "Unable to construct queue ordering policy="
|
|
|
+ + policyType + " queue=" + queue;
|
|
|
+ throw new YarnRuntimeException(message, e);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
return qop;
|