[
https://issues.apache.org/jira/browse/YARN-4781?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16434611#comment-16434611
]
Eric Payne commented on YARN-4781:
----------------------------------
[~sunilg], actually, it looks like I can access the {{FairComparator}} class
from {{FairOrderingPolicy}}:
{code:java|title=IntraQueueCandidatesSelector#TAFairOrderingComparator}
public int compare(TempAppPerPartition ta1, TempAppPerPartition ta2) {
AbstractComparatorOrderingPolicy<FiCaSchedulerApp> acop =
(AbstractComparatorOrderingPolicy<FiCaSchedulerApp>)
ta1.getFiCaSchedulerApp().getCSLeafQueue().getOrderingPolicy();
return acop.getComparator()
.compare(ta1.getFiCaSchedulerApp(), ta2.getFiCaSchedulerApp());
}
{code}
It's still a little messy, but less intrusive than the other suggestions.
I have manually tested this in my pseudo cluster and it works pretty well. I'm
still trying to get the unit tests mocked up correctly, so I won't post a patch
just yet.
> Support intra-queue preemption for fairness ordering policy.
> ------------------------------------------------------------
>
> Key: YARN-4781
> URL: https://issues.apache.org/jira/browse/YARN-4781
> Project: Hadoop YARN
> Issue Type: Sub-task
> Components: scheduler
> Reporter: Wangda Tan
> Assignee: Wangda Tan
> Priority: Major
> Attachments: YARN-4781.001.patch, YARN-4781.002.patch,
> YARN-4781.003.patch
>
>
> We introduced fairness queue policy since YARN-3319, which will let large
> applications make progresses and not starve small applications. However, if a
> large application takes the queue’s resources, and containers of the large
> app has long lifespan, small applications could still wait for resources for
> long time and SLAs cannot be guaranteed.
> Instead of wait for application release resources on their own, we need to
> preempt resources of queue with fairness policy enabled.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]