You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-issues@hadoop.apache.org by "Sandy Ryza (JIRA)" <ji...@apache.org> on 2014/04/08 00:46:19 UTC
[jira] [Commented] (YARN-1909) FairScheduler isStartvedForFairShare
does not work when fairShare == 1
[ https://issues.apache.org/jira/browse/YARN-1909?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13962349#comment-13962349 ]
Sandy Ryza commented on YARN-1909:
----------------------------------
This looks like an MR1 issue, so moving it to MAPREDUCE.
> FairScheduler isStartvedForFairShare does not work when fairShare == 1
> ----------------------------------------------------------------------
>
> Key: YARN-1909
> URL: https://issues.apache.org/jira/browse/YARN-1909
> Project: Hadoop YARN
> Issue Type: Bug
> Reporter: Anubhav Dhoot
> Assignee: Anubhav Dhoot
>
> If the fair share returned by the scheduler getFairShare() == 1 the pool will never be marked as being starved because of the following calculation:
> {code}
> boolean isStarvedForFairShare(PoolSchedulable sched) {
> int desiredFairShare = (int) Math.floor(Math.min( sched.getFairShare() / 2, sched.getDemand()));
> return (sched.getRunningTasks() < desiredFairShare);
> }
> {code}
> getFairShare() returns 1
> Math.min calculation will return 0.5
> Math.Floor() which will cause the desiredFairShare to be set to 0.
> the return value to be 'false' (0 < 0)
> If you have a small job without a minimum set it will not get scheduled if a large job is hogging the slots.
--
This message was sent by Atlassian JIRA
(v6.2#6252)