Anubhav Dhoot created YARN-1909: ----------------------------------- Summary: 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: boolean isStarvedForFairShare(PoolSchedulable sched) { int desiredFairShare = (int) Math.floor(Math.min( sched.getFairShare() / 2, sched.getDemand())); return (sched.getRunningTasks() < desiredFairShare); } 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)