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

Tao Jie commented on YARN-4462:
-------------------------------

[~kasha] , Thank you for your comments. I will make some improvements as you 
suggested.
I have more consideration about:
{quote}
Also, it would be nice to have a global option, so folks could pick a default 
enable/disable based on the number of queues they have.
{quote}
I am not sure if it is necessary to have a global option for enable/disable 
preemption from one queue, since I don't think it is a reasonable scenario to 
set this default value to non-preemptable.
Now option for allowPreemptionFrom is set to true as default. In most scenario, 
we have most queues preemptable and few queues non-preemptable, we just add 
option  allowPreemptionFrom with value of false for those non-preemptable.
Suppose there is another scenario in which we set global option for 
allowPreemptionFrom to true. We should have most queues non-preemptable and 
only few(maybe none) queues preemptable. There are very large probability of 
failure to find candidate containers to be preempted. And it breaks fairness 
among queues.
Also it would become confusing when we config queue hierachy. Now we set 
non-preemptable option either in parent queue or in its leaf queue, the leaf 
queue is non-preemptable. We try to find preemptable queues from root to leaf 
recursively and return when we get non-preemptable. It makes sence. However, 
when we set global default value to non-preemptable and set one parent queue or 
leaf queue value to preemptable, I would be confusing about whether the leaf 
queue should be preemptable or not.

> FairScheduler: Disallow preemption from a queue
> -----------------------------------------------
>
>                 Key: YARN-4462
>                 URL: https://issues.apache.org/jira/browse/YARN-4462
>             Project: Hadoop YARN
>          Issue Type: Improvement
>          Components: fairscheduler
>    Affects Versions: 2.6.0
>            Reporter: Tao Jie
>            Assignee: Tao Jie
>         Attachments: YARN-4462.001.patch, YARN-4462.002.patch, 
> YARN-4462.003.patch
>
>
> When scheduler preemption is enabled, applications could be preempted if they 
> obtain resource over they should take. 
> When a mapreduce application is preempted some resource, it just runs slower. 
> However, when the preempted application is a long-run service, such as tomcat 
> running in slider, the service would fail.
> So we should have a flag for application to indicate the scheduler that those 
> application should not be preempted. 



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

Reply via email to