[ 
https://issues.apache.org/jira/browse/YARN-10807?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Shilun Fan updated YARN-10807:
------------------------------
          Component/s: capacity scheduler
         Hadoop Flags: Reviewed
     Target Version/s: 3.4.0
    Affects Version/s: 3.4.0

> Parents node labels are incorrectly added to child queues in weight mode 
> -------------------------------------------------------------------------
>
>                 Key: YARN-10807
>                 URL: https://issues.apache.org/jira/browse/YARN-10807
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: capacity scheduler
>    Affects Versions: 3.4.0
>            Reporter: Benjamin Teke
>            Assignee: Benjamin Teke
>            Priority: Major
>             Fix For: 3.4.0
>
>         Attachments: YARN-10807.001.patch, YARN-10807.002.patch
>
>
> In ParentQueue.updateClusterResource when calculating the normalized weights 
> CS will iterate through the parent's nodelabels. 
> If the parent has a node label that a specific child doesn't, it will 
> incorrectly add it to the child's node label list through the 
> queueCapacities.setNormalizedWeights(label, weight) call:
> {code:java}
> // Normalize weight of children
>       if (getCapacityConfigurationTypeForQueues(childQueues)
>           == QueueCapacityType.WEIGHT) {
>         for (String nodeLabel : queueCapacities.getExistingNodeLabels()) {
>           float sumOfWeight = 0;
>           for (CSQueue queue : childQueues) {
>             float weight = Math.max(0,
>                 queue.getQueueCapacities().getWeight(nodeLabel));
>             sumOfWeight += weight;
>           }
>           // When sum of weight == 0, skip setting normalized_weight (so
>           // normalized weight will be 0).
>           if (Math.abs(sumOfWeight) > 1e-6) {
>             for (CSQueue queue : childQueues) {
>                 queue.getQueueCapacities().setNormalizedWeight(nodeLabel,
>                     queue.getQueueCapacities().getWeight(nodeLabel) / 
> sumOfWeight);
>             }
>           }
>         }
>       }
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
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