[ https://issues.apache.org/jira/browse/YARN-2004?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14325576#comment-14325576 ]
Sunil G commented on YARN-2004: ------------------------------- About the priority inversion problem, I feel we could use below approach 1. To identify lower priority application which is waiting for resource over a long period, *lastScheduledContainer* in *SchedulerApplicationAttempt* can be used to get the timestamp of last allocation. And based on a time limit configuration, it is possible to identify the apps which are starving. 2. Identify few higher applications and decrease its headroom explicitly by one resource request of lower priority application. 3. Reset the headroom of higher priority application back once lower priority application has got the container. Kindly share the thoughts on same. > Priority scheduling support in Capacity scheduler > ------------------------------------------------- > > Key: YARN-2004 > URL: https://issues.apache.org/jira/browse/YARN-2004 > Project: Hadoop YARN > Issue Type: Sub-task > Components: capacityscheduler > Reporter: Sunil G > Assignee: Sunil G > Attachments: 0001-YARN-2004.patch > > > Based on the priority of the application, Capacity Scheduler should be able > to give preference to application while doing scheduling. > Comparator<FiCaSchedulerApp> applicationComparator can be changed as below. > > 1. Check for Application priority. If priority is available, then return > the highest priority job. > 2. Otherwise continue with existing logic such as App ID comparison and > then TimeStamp comparison. -- This message was sent by Atlassian JIRA (v6.3.4#6332)