Peng Zhang commented on YARN-3405:

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

Reply via email to