[ https://issues.apache.org/jira/browse/YARN-7149?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16157290#comment-16157290 ]
Wangda Tan commented on YARN-7149: ---------------------------------- [~eepayne], Yes you're correct, I checked the old logic: https://github.com/apache/hadoop/blob/branch-2.7/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/LeafQueue.java: {code} Resource limit = Resources.roundUp( resourceCalculator, Resources.min( resourceCalculator, clusterResource, Resources.max( resourceCalculator, clusterResource, Resources.divideAndCeil( resourceCalculator, currentCapacity, activeUsers), Resources.divideAndCeil( resourceCalculator, Resources.multiplyAndRoundDown( currentCapacity, userLimit), 100) ), Resources.multiplyAndRoundDown(queueCapacity, userLimitFactor) ), minimumAllocation); {code} The {{max}} op is consistent with old behavior, we don't need to change it to {{min}}. > Cross-queue preemption sometimes starves an underserved queue > ------------------------------------------------------------- > > Key: YARN-7149 > URL: https://issues.apache.org/jira/browse/YARN-7149 > Project: Hadoop YARN > Issue Type: Bug > Components: capacity scheduler > Affects Versions: 2.9.0, 3.0.0-alpha3 > Reporter: Eric Payne > Assignee: Eric Payne > Attachments: YARN-7149.demo.unit-test.patch > > > In branch 2 and trunk, I am consistently seeing some use cases where > cross-queue preemption does not happen when it should. I do not see this in > branch-2.8. > Use Case: > | | *Size* | *Minimum Container Size* | > |MyCluster | 20 GB | 0.5 GB | > | *Queue Name* | *Capacity* | *Absolute Capacity* | *Minimum User Limit > Percent (MULP)* | *User Limit Factor (ULF)* | > |Q1 | 50% = 10 GB | 100% = 20 GB | 10% = 1 GB | 2.0 | > |Q2 | 50% = 10 GB | 100% = 20 GB | 10% = 1 GB | 2.0 | > - {{User1}} launches {{App1}} in {{Q1}} and consumes all resources (20 GB) > - {{User2}} launches {{App2}} in {{Q2}} and requests 10 GB > - _Note: containers are 0.5 GB._ > - Preemption monitor kills 2 containers (equals 1 GB) from {{App1}} in {{Q1}}. > - Capacity Scheduler assigns 2 containers (equals 1 GB) to {{App2}} in {{Q2}}. > - _No more containers are ever preempted, even though {{Q2}} is far > underserved_ -- This message was sent by Atlassian JIRA (v6.4.14#64029) --------------------------------------------------------------------- To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org