[ https://issues.apache.org/jira/browse/YARN-3405?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14390471#comment-14390471 ]
Peng Zhang commented on YARN-3405: ---------------------------------- bq. 2. if parent's usage reached its fair share, it will not propagate preemption request upside again. So preemption request in parent queue means preemption needed between its children. make above statement more clear: If request from children added with current usage less than fair share, parent queue will propagate request upside. This means current queue is under fair share, it need preempt from its sibling that who is over scheduled. When the amount reached current queue's fair share, the above request amount will be stored on current queue. This means these request amount need happen between current queue's children, > FairScheduler's preemption cannot happen between sibling in some case > --------------------------------------------------------------------- > > Key: YARN-3405 > URL: https://issues.apache.org/jira/browse/YARN-3405 > Project: Hadoop YARN > Issue Type: Bug > Components: fairscheduler > Affects Versions: 2.7.0 > Reporter: Peng Zhang > Assignee: Peng Zhang > Priority: Critical > > Queue hierarchy described as below: > {noformat} > root > / \ > queue-1 queue-2 > / \ > queue-1-1 queue-1-2 > {noformat} > Assume cluster resource is 100 > # queue-1-1 and queue-2 has app. Each get 50 usage and 50 fairshare. > # When queue-1-2 is active, and it cause some new preemption request for > fairshare 25. > # When preemption from root, it has possibility to find preemption candidate > is queue-2. If so preemptContainerPreCheck for queue-2 return false because > it's equal to its fairshare. > # Finally queue-1-2 will be waiting for resource release form queue-1-1 > itself. > What I expect here is that queue-1-2 preempt from queue-1-1. -- This message was sent by Atlassian JIRA (v6.3.4#6332)