[ 
https://issues.apache.org/jira/browse/HADOOP-4236?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Arun C Murthy updated HADOOP-4236:
----------------------------------

    Status: Open  (was: Patch Available)

Ok, I had a long discussion with Sameer and Owen about this and here is a 
slightly modfied approach we feel is slightly more maintainable:

1. Introduce a new job-status class with 2 booleans: killJob and initTasks.
2. JobInProgress.kill should synchronize on the new status object, set the 
'killJob' boolean to true (via a setter) and then check the 'initTasks' and 
call terminate if necessary while holding the lock on the status object.
3. Similarly JobInProgress.initTasks should synchronize on the status object at 
the _end_ (not at the beginning, there-by eliminating the need for the 
'initStarted' flag) and call terminate if necessary while holding the lock on 
the status object.

Basically, the proposal is to keep a single object which tracks killJob and 
initTasks simultaneously rather than relying on too many pieces.

Thoughts?

> JobTracker.killJob() fails to kill a job if the job is not yet initialized
> --------------------------------------------------------------------------
>
>                 Key: HADOOP-4236
>                 URL: https://issues.apache.org/jira/browse/HADOOP-4236
>             Project: Hadoop Core
>          Issue Type: Bug
>          Components: mapred
>    Affects Versions: 0.19.0
>            Reporter: Amar Kamat
>            Assignee: Sharad Agarwal
>            Priority: Blocker
>             Fix For: 0.19.0
>
>         Attachments: 4236_v1.patch, 4236_v2.patch, 4236_v3.patch
>
>
> HADOOP-3864 made the following changes to {{JobTracker.killJob()}}
> {code}
>    public synchronized void killJob(JobID jobid) {
>      JobInProgress job = jobs.get(jobid);
> -    job.kill();
> +    if (job.inited()) {
> +      job.kill();
> +    }
>    }
> {code}
> This is a bug as a job will not get killed if its not yet initialized.

-- 
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