Andras Gyori created YARN-10813:
-----------------------------------
Summary: Root queue capacity is not set when using node labels
Key: YARN-10813
URL: https://issues.apache.org/jira/browse/YARN-10813
Project: Hadoop YARN
Issue Type: Bug
Reporter: Andras Gyori
Assignee: Andras Gyori
CapacitySchedulerConfiguration#getNonLabeledQueueCapacity handles root in the
following way:
{code:java}
if (absoluteResourceConfigured || configuredWeightAsCapacity(
configuredCapacity)) {
// Return capacity in percentage as 0 for non-root queues and 100 for
// root.From AbstractCSQueue, absolute resource will be parsed and
// updated. Once nodes are added/removed in cluster, capacity in
// percentage will also be re-calculated.
return queue.equals("root") ? 100.0f : 0f;
}
{code}
CapacitySchedulerConfiguration#internalGetLabeledQueueCapacity on the other
hand does not take root queue into consideration:
{code:java}
if (absoluteResourceConfigured || configuredWeightAsCapacity(
configuredCapacity)) {
// Return capacity in percentage as 0 for non-root queues and 100 for
// root.From AbstractCSQueue, absolute resource, and weight will be parsed
// and updated separately. Once nodes are added/removed in cluster,
// capacity is percentage will also be re-calculated.
return defaultValue;
}
float capacity = getFloat(capacityPropertyName, defaultValue);
{code}
Due to this, labeled root capacity is 0, which is not set in in
AbstractCSQueue#derivedCapacityFromAbsoluteConfigurations, because root is
never in Absolute mode.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]