YARN-9824. Fall back to configured queue ordering policy class name

(cherry picked from commit f8f8598ea5)
This commit is contained in:
Jonathan Hung 2019-09-10 15:19:07 -07:00
parent e10050678d
commit 1dbf87c9ff
1 changed files with 10 additions and 7 deletions

View File

@ -1561,20 +1561,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;