hadoop-mapreduce-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Amareshwari Sriramadasu (JIRA)" <j...@apache.org>
Subject [jira] Commented: (MAPREDUCE-1707) TaskRunner can get NPE in getting ugi from TaskTracker
Date Fri, 30 Apr 2010 05:45:54 GMT

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

Amareshwari Sriramadasu commented on MAPREDUCE-1707:
----------------------------------------------------

Patch skips localizing distributed cache and continues further, if getRunningJob() returns
null. I think it should not any more processing. It should just return from there.

bq. Passing UGI all the way down to TaskRunner both looked wierd and resulted in ugly code
changes.
I still feel TaskRunner should not do a back call to TaskTracker. Can we pass UGI as part
of Task object to make things simpler?

> 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
>            Assignee: Vinod K V
>             Fix For: 0.22.0
>
>         Attachments: MAPREDUCE-1707-20100429.txt
>
>
> 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.


Mime
View raw message