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

View raw message