[
https://issues.apache.org/jira/browse/YARN-3547?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14539692#comment-14539692
]
Xianyin Xin commented on YARN-3547:
-----------------------------------
Sorry for late response, [~kasha]. {{getDemand() - getResourceUsage()}} is
another choice, but i think
{{SchedulerApplicationAttempt.getAppAttemptResourceUsage().getPending()}} would
be better, because the pending information is immediately updated as the
request is update/fulfilled, while the former was derived from request in
another update thread. The request is changed when there's resource request
update. If AM submits resource requests
{code}
location=* containers=1
location=rack containers=1
location=node1 containers=1
location=node2 containers=1
{code}
and then it is fulfilled on node1, the request becomes
{code}
location=* containers=0
location=node2 containers=1
{code}
Later the AM doesn't submit a new request (in which the #container set to 0),
this app will also participate scheduling, even though it's demand has been
fulfilled.
Besides, when i try use {{getDemand() - getResourceUsage()}}, i got some test
failures. Now i was checking the cause.
> FairScheduler: Apps that have no resource demand should not participate
> scheduling
> ----------------------------------------------------------------------------------
>
> Key: YARN-3547
> URL: https://issues.apache.org/jira/browse/YARN-3547
> Project: Hadoop YARN
> Issue Type: Improvement
> Components: fairscheduler
> Reporter: Xianyin Xin
> Assignee: Xianyin Xin
> Attachments: YARN-3547.001.patch, YARN-3547.002.patch,
> YARN-3547.003.patch, YARN-3547.004.patch
>
>
> At present, all of the 'running' apps participate the scheduling process,
> however, most of them may have no resource demand on a production cluster, as
> the app's status is running other than waiting for resource at the most of
> the app's lifetime. It's not a wise way we sort all the 'running' apps and
> try to fulfill them, especially on a large-scale cluster which has heavy
> scheduling load.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)