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)

Reply via email to