[
https://issues.apache.org/jira/browse/YARN-3405?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14385099#comment-14385099
]
Peng Zhang commented on YARN-3405:
----------------------------------
bq. There is a possibility for the first scenario. If we have another queue
queue-2 which is queue-1's sibling and queue-2 is greater than queue-1 when
compare queue-1 and queue-2, then queue-2 will always be picked for preemption
and queue-1 won't have chance to be preempted.
For this case "queue-2 is greater than queue-1 when compare queue-1 and
queue-2":
I think firstly preempt from queue-2(if it is LeafQueue) or queue-2's child
Queue is reasonable.
And then when preemption and scheduling cause queue-1 greater than queue-2, it
should preempt from queue-1-1 ideally. (I think this may not happen in time by
checking code, and maybe cause queue-1 is over preempted. But even if queue-1
is over preempted, during scheduling, the preempted containers will not be all
assigned to queue-1, because queue-2 itself is under fair share. Finally it
will got a balance & fair state.)
> 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
> Priority: Critical
>
> Queue hierarchy described as below:
> {noformat}
> root
> |
> queue-1
> / \
> queue-1-1 queue-1-2
> {noformat}
> 1. When queue-1-1 is active and it has been assigned with all resources.
> 2. When queue-1-2 is active, and it cause some new preemption request.
> 3. But when do preemption, it now starts from root, and found queue-1 is not
> over fairshare, so no recursion preemption to queue-1-1.
> 4. Finally queue-1-2 will be waiting for resource release form queue-1-1
> itself.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)