[ 
https://issues.apache.org/jira/browse/MAPREDUCE-1707?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12862131#action_12862131
 ] 

Vinod K V commented on MAPREDUCE-1707:
--------------------------------------

bq. Instead of TaskRunner doing a back call to tasktracker to get the ugi, 
tracker.getRunningJob(t.getJobID()).getUGI(), ugi should be passed a parameter 
in the constructor of TaskRunner.
Passing UGI all the way down to TaskRunner both looked wierd and resulted in 
ugly code changes. Instead, I am making the TaskRunner simply check if the the 
returned RunningJob null, i.e if the job is killed already, and skip the 
localization of dist-cache files.

Long term, we need to cleanup the whole mess with the TaskTracker, TaskRunner 
and JvmManger interactions. The code is simply-not-maintainable in this form.

> TaskRunner can get NPE in getting ugi from TaskTracker
> ------------------------------------------------------
>
>                 Key: MAPREDUCE-1707
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-1707
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: tasktracker
>    Affects Versions: 0.22.0
>            Reporter: Amareshwari Sriramadasu
>             Fix For: 0.22.0
>
>
> The following code in TaskRunner can get NPE in the scenario described below.
> {code}
>       UserGroupInformation ugi = 
>         tracker.getRunningJob(t.getJobID()).getUGI();
> {code}
> The scenario:
> Tracker got a LaunchTaskAction; Task is localized and TaskRunner is started.
> Then Tracker got a KillJobAction; This would issue a kill for the task. But, 
> kill will be a no-op because the task did not actually start; The job is 
> removed from runningJobs. 
> Then if TaskRunner calls tracker.getRunningJob(t.getJobID()), it will be null.
> Instead of TaskRunner doing a back call to tasktracker to get the ugi, 
> tracker.getRunningJob(t.getJobID()).getUGI(), ugi should be passed a 
> parameter in the constructor of TaskRunner. 

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