[
https://issues.apache.org/jira/browse/HADOOP-1289?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Arun C Murthy updated HADOOP-1289:
----------------------------------
Fix Version/s: 0.13.0
Assignee: Arun C Murthy
Affects Version/s: 0.12.3
> Just launched tasks aren't getting cleaned up on job completion
> (success/killed)
> --------------------------------------------------------------------------------
>
> Key: HADOOP-1289
> URL: https://issues.apache.org/jira/browse/HADOOP-1289
> Project: Hadoop
> Issue Type: Bug
> Components: mapred
> Affects Versions: 0.12.3
> Reporter: Arun C Murthy
> Assigned To: Arun C Murthy
> Fix For: 0.13.0
>
>
> When a job is killed, if there are tasks which haven't been launched yet
> (just scheduled on a tasktracker) it leads to a situation where the
> non-launched task hangs around for a long time on the tasktrackers taking up
> valuable 'slots' preventing the scheduling of _legitimate_ tasks on them.
> This is due to a race-condition:
> a) Job is killed:
> JobInProgress.kill
> -> JobInProgress.garbageCollect
> -> JobInProgress.finalizeJob
> -> JobTracker.removeJobTasks
> -> JobTracker.removeTaskEntry - this removes the taskid -> TIP entry in
> JobTracker.taskIdToTIPMap
> b) ExpireLaunchingTasks thread detects the task has timedout, however since
> the taskid -> TIP map is missing it cannot 'fail' the task - thus leaving it
> orphaned on the tasktracker.
> One possible solution is to broadcast a KillJobAction to all trackers in the
> cluster (or only those trackers which ever ran a task of this Job) ensuring
> the right cleanup... clearly this is a hairy situation.
> Thoughts?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.