[ 
https://issues.apache.org/jira/browse/YARN-2056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14208076#comment-14208076
 ] 

Eric Payne commented on YARN-2056:
----------------------------------

[~leftnoteasy], thank you very much for taking the time to review this patch.
{quote}
However, you cannot say, in this case, b cannot preempt resource from a. 
Because, When a container preempted, the resource is available for everyone to 
use. Like the resource freed after preempt a container from a2 that doesn't 
mean the resource is dedicated to a1 to use only.
{quote}
Good point. I see what you mean.
If you agree, I would like to keep the inheritance behavior. That is, be able 
set the disable preemption property at the parent level and have it trickle 
down, but only have the disable preemption property take effect at the leaf 
level. The property could be overridden at the leaf level.

There were actually 2 aspects of the latest patch:
# Set {{disable_preemption}} property at a parent level and have children 
inherit from that unless  overridden.
#* Use Case: A cluster with many subqueues where most will have queue 
preemption disabled with only one enabled.
#* Disable queue preemption at the root, and then enable it for the one leaf 
queue that will be preemptable.
#* With this inheritance behavior, this requires a lot less 
{{disable_preemption}} settings.
# Enforce the {{disable_preemption}} property for parent queues.

If it's okay with you, I would like to keep number 1. If I remove number 2, but 
keep number 1, the behavior would be that the {{disable_preemption}} settings 
could be done in the parent, but they would only affect the leaf queues.


bq. 1. getUnderservedQueues the name is a little confusing me, it should be 
getMostUnderServedQueues
Yes, I can do that.

bq.  2. I would suggest to create a method in 
CapacitySchedulerConfiguration.getPreemptionEnabled(queue)
I would like to open a new Jira that adds to the scheduler UI and logs the 
queue preemption state. Does it make sense to add this API as part of that Jira?

bq.  3. In getUnderservedQueues, you can simple use tqComparator.compare(q0, 
q1) instead of calculate idealPctGuaranteed
Okay. Sounds good.

bq. 4. it's better to rename idealPctGuaranteed -> caculate(or 
get)IdealPctGuaranteed.
Okay

> Disable preemption at Queue level
> ---------------------------------
>
>                 Key: YARN-2056
>                 URL: https://issues.apache.org/jira/browse/YARN-2056
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: resourcemanager
>    Affects Versions: 2.4.0
>            Reporter: Mayank Bansal
>            Assignee: Eric Payne
>         Attachments: YARN-2056.201408202039.txt, YARN-2056.201408260128.txt, 
> YARN-2056.201408310117.txt, YARN-2056.201409022208.txt, 
> YARN-2056.201409181916.txt, YARN-2056.201409210049.txt, 
> YARN-2056.201409232329.txt, YARN-2056.201409242210.txt, 
> YARN-2056.201410132225.txt, YARN-2056.201410141330.txt, 
> YARN-2056.201410232244.txt, YARN-2056.201410311746.txt, 
> YARN-2056.201411041635.txt, YARN-2056.201411072153.txt
>
>
> We need to be able to disable preemption at individual queue level



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to