[
https://issues.apache.org/jira/browse/YARN-2176?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14514506#comment-14514506
]
Wangda Tan commented on YARN-2176:
----------------------------------
[~jlowe], this problem should be resolved in CS after YARN-3361, in LeafQueue:
{code}
if (!application.hasPendingResourceRequest(resourceCalculator,
node.getPartition(), clusterResource, schedulingMode)) {
if (LOG.isDebugEnabled()) {
LOG.debug("Skip app_attempt=" + application.getApplicationAttemptId()
+ ", because it doesn't need more resource, schedulingMode="
+ schedulingMode.name() + " node-label=" + node.getPartition());
}
continue;
}
{code}
To only look into apps has pending requests.
> CapacityScheduler loops over all running applications rather than actively
> requesting apps
> ------------------------------------------------------------------------------------------
>
> Key: YARN-2176
> URL: https://issues.apache.org/jira/browse/YARN-2176
> Project: Hadoop YARN
> Issue Type: Improvement
> Components: capacityscheduler
> Affects Versions: 2.4.0
> Reporter: Jason Lowe
>
> The capacity scheduler performance is primarily dominated by
> LeafQueue.assignContainers, and that currently loops over all applications
> that are running in the queue. It would be more efficient if we looped over
> just the applications that are actively asking for resources rather than all
> applications, as there could be thousands of applications running but only a
> few hundred that are currently asking for resources.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)