[ 
https://issues.apache.org/jira/browse/HADOOP-4981?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12665727#action_12665727
 ] 

Arun C Murthy commented on HADOOP-4981:
---------------------------------------

bq. In this case, returning nothing to the TT is a waste. You should move on to 
the next job. So I need a way to tell me if the job potentially has a task to 
run.

I have a slightly different take - I agree with the motivation, not with the 
conclusion. We could just check if the highest priority job is _starved_ as 
defined by our discussion in HADOOP-4667 
(http://issues.apache.org/jira/browse/HADOOP-4667?focusedCommentId=12665726#action_12665726)
 and use those apis to decide if we should move to the next job. Thoughts?



> Prior code fix in Capacity Scheduler prevents speculative execution in jobs
> ---------------------------------------------------------------------------
>
>                 Key: HADOOP-4981
>                 URL: https://issues.apache.org/jira/browse/HADOOP-4981
>             Project: Hadoop Core
>          Issue Type: Bug
>          Components: contrib/capacity-sched
>            Reporter: Vivek Ratan
>            Priority: Blocker
>         Attachments: 4981.1.patch, 4981.2.patch
>
>
> As part of the code fix for HADOOP-4035, the Capacity Scheduler obtains a 
> task from JobInProgress (calling obtainNewMapTask() or obtainNewReduceTask()) 
> only if the number of pending tasks for a job is greater than zero (see the 
> if-block in TaskSchedulingMgr.getTaskFromJob()). So, if a job has no pending 
> tasks and only has running tasks, it will never be given a slot, and will 
> never have a chance to run a speculative task. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to