[
https://issues.apache.org/jira/browse/YARN-4390?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15263164#comment-15263164
]
Eric Payne commented on YARN-4390:
----------------------------------
[~leftnoteasy], I am seeing kind of corner case in my testing of this feature.
|*App Name*|*Queue Name*|*Used*|*Guaranteed*|*Preemption*|
|app1|ops|7.5GB|8GB|preemption disabled|
|app2|default|4.5GB|2GB|preemption enabled|
| N/A |eng|0GB|2GB|preemption disabled|
If {{app1}} in the {{ops}} queue is asking for a 1GB container (which is more
than the difference between the {{ops}} queue's guaranteed and used),
{{ReservedContainerCandidatesSelector#selectCandidates}} will not select any
containers and let it fall through to
{{FifoCandidatesSelector#selectCandidates}}, which selects a 0.5GB container
from {{app2}} in the {{default}} queue. This 0.5GB container gets preempted,
rejected by {{app1}}, and reassigned to {{app2}}, and the process starts over,
repeating.
> Do surgical preemption based on reserved container in CapacityScheduler
> -----------------------------------------------------------------------
>
> Key: YARN-4390
> URL: https://issues.apache.org/jira/browse/YARN-4390
> Project: Hadoop YARN
> Issue Type: Sub-task
> Components: capacity scheduler
> Affects Versions: 3.0.0, 2.8.0, 2.7.3
> Reporter: Eric Payne
> Assignee: Wangda Tan
> Attachments: QueueNotHittingMax.jpg, YARN-4390-design.1.pdf,
> YARN-4390-test-results.pdf, YARN-4390.1.patch, YARN-4390.2.patch,
> YARN-4390.3.branch-2.patch, YARN-4390.3.patch, YARN-4390.4.patch,
> YARN-4390.5.patch, YARN-4390.6.patch, YARN-4390.7.patch, YARN-4390.8.patch
>
>
> There are multiple reasons why preemption could unnecessarily preempt
> containers. One is that an app could be requesting a large container (say
> 8-GB), and the preemption monitor could conceivably preempt multiple
> containers (say 8, 1-GB containers) in order to fill the large container
> request. These smaller containers would then be rejected by the requesting AM
> and potentially given right back to the preempted app.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)