[
https://issues.apache.org/jira/browse/HADOOP-4981?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12663113#action_12663113
]
Arun C Murthy commented on HADOOP-4981:
---------------------------------------
bq. Check if the TT has enough mem for the job. If yes, obtain a task from the
job, as before. If not, determine whether the job has a task to run.
If the TT doesn't have enough memory for the job's tasks, what is the point
trying to check if the job has a task to run?
I think the capacity scheduler should just ask for a task iff the TT has enough
memory and the let the JobInProgress hand out normal, failed or speculative
tasks as is done in the default scheduler.
> 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
>
>
> 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.