[ 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)