[ https://issues.apache.org/jira/browse/YARN-596?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14006676#comment-14006676 ]
Sandy Ryza commented on YARN-596: --------------------------------- The current patch uses the queue's policy to preemptContainerPreCheck. We should the parent's policy. (Consider the case of a leaf queue with FIFO under a parent queue with DRF - we should use DRF to decide whether we should skip the leaf queue). Also, we should add a new method to SchedulingPolicy instead of checking with instanceof. {code} + if (Resources.fitsIn(getResourceUsage(), getFairShare())) { + return false; + } else { + return true; + } {code} Can just use "return Resources.fitsIn(getResourceUsage(), getFairShare())". > In fair scheduler, intra-application container priorities affect > inter-application preemption decisions > ------------------------------------------------------------------------------------------------------- > > Key: YARN-596 > URL: https://issues.apache.org/jira/browse/YARN-596 > Project: Hadoop YARN > Issue Type: Bug > Components: scheduler > Affects Versions: 2.0.3-alpha > Reporter: Sandy Ryza > Assignee: Sandy Ryza > Attachments: YARN-596.patch, YARN-596.patch, YARN-596.patch, > YARN-596.patch, YARN-596.patch, YARN-596.patch > > > In the fair scheduler, containers are chosen for preemption in the following > way: > All containers for all apps that are in queues that are over their fair share > are put in a list. > The list is sorted in order of the priority that the container was requested > in. > This means that an application can shield itself from preemption by > requesting it's containers at higher priorities, which doesn't really make > sense. > Also, an application that is not over its fair share, but that is in a queue > that is over it's fair share is just as likely to have containers preempted > as an application that is over its fair share. -- This message was sent by Atlassian JIRA (v6.2#6252)