private void updateMultiNodeSortingPolicy(RMApp rmApp) { if (rmApp == null) { return; } String queueName = null; if (scheduler instanceof CapacityScheduler) { queueName = getCSLeafQueue().getMultiNodeSortingPolicyName(); } if (!appSchedulingInfo.getApplicationSchedulingEnvs().containsKey( ApplicationSchedulingConfig.ENV_MULTI_NODE_SORTING_POLICY_CLASS) && queueName != null) { appSchedulingInfo.getApplicationSchedulingEnvs().put( ApplicationSchedulingConfig.ENV_MULTI_NODE_SORTING_POLICY_CLASS, queueName); } }
@SuppressWarnings("unchecked") @Override public void initialize(AppSchedulingInfo appSchedulingInfo, SchedulerRequestKey schedulerRequestKey, RMContext rmContext) { super.initialize(appSchedulingInfo, schedulerRequestKey, rmContext); multiNodeSortPolicyName = appSchedulingInfo .getApplicationSchedulingEnvs().get( ApplicationSchedulingConfig.ENV_MULTI_NODE_SORTING_POLICY_CLASS); multiNodeSortingManager = (MultiNodeSortingManager<N>) rmContext .getMultiNodeSortingManager(); if (LOG.isDebugEnabled()) { LOG.debug( "nodeLookupPolicy used for " + appSchedulingInfo .getApplicationId() + " is " + ((multiNodeSortPolicyName != null) ? multiNodeSortPolicyName : "")); } }