[ 
https://issues.apache.org/jira/browse/YARN-10364?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17165056#comment-17165056
 ] 

Bilwa S T commented on YARN-10364:
----------------------------------

Hi [~prabhujoseph]
This is because 
CapacitySchedulerConfiguration#internalGetLabeledResourceRequirementForQueue 
returns Resources.none() if memory is 0. 

{code:java}
 // Memory has to be configured always.
  if (resource.getMemorySize() == 0L) {
      return Resources.none();
   }
{code}

When assigning config type it checks if minresource is not equal to 
Resources.none() in AbstractCSQueue#updateConfigurableResourceRequirement

{code:java}
if (this.capacityConfigType.equals(CapacityConfigType.NONE)) {
        this.capacityConfigType = (!minResource.equals(Resources.none())
            && queueCapacities.getAbsoluteCapacity(label) == 0f)
                ? CapacityConfigType.ABSOLUTE_RESOURCE
                : CapacityConfigType.PERCENTAGE;
        LOG.debug("capacityConfigType is updated as '{}' for queue {}",
            capacityConfigType, getQueuePath());
      }
{code}


> Absolute Resource [memory=0] is considered as Percentage config type
> --------------------------------------------------------------------
>
>                 Key: YARN-10364
>                 URL: https://issues.apache.org/jira/browse/YARN-10364
>             Project: Hadoop YARN
>          Issue Type: Bug
>    Affects Versions: 3.4.0
>            Reporter: Prabhu Joseph
>            Assignee: Bilwa S T
>            Priority: Major
>
> Absolute Resource [memory=0] is considered as Percentage config type. This 
> causes failure while converting queues from Percentage to Absolute Resources 
> automatically. 
> *Repro:*
> 1. Queue A = 100% and child queues Queue A.B = 0%, A.C=100%
> 2. While converting above to absolute resource automatically, capacity of 
> queue A = [memory=<cluster resource>], A.B = [memory=0]
> This fails with below as A is considered as Absolute Resource whereas B is 
> considered as Percentage config type.
> {code}
> 2020-07-23 09:36:40,499 WARN 
> org.apache.hadoop.yarn.server.resourcemanager.webapp.RMWebServices: 
> CapacityScheduler configuration validation failed:java.io.IOException: Failed 
> to re-init queues : Parent queue 'root.A' and child queue 'root.A.B' should 
> use either percentage based capacityconfiguration or absolute resource 
> together for label:
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org

Reply via email to