[ https://issues.apache.org/jira/browse/MAPREDUCE-1707?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Vinod K V updated MAPREDUCE-1707: --------------------------------- Attachment: MAPREDUCE-1707-20100430.txt bq. Can we pass UGI as part of Task object to make things simpler? I give in, TaskTracker setin in TaskInProgress just before the TaskRunner is going to be launched. By this time, job localization happens already and so tip.getUGI() can't be null at all. > 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, MAPREDUCE-1707-20100430.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.