[ https://issues.apache.org/jira/browse/MAPREDUCE-1707?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12863689#action_12863689 ]
Vinod K V commented on MAPREDUCE-1707: -------------------------------------- As noted before, the patch adds no new testcases as it fixes a rare race condition and cannot write useful test-cases without aggressive refactoring of TaskTracker/TaskRunner. The testcase failure for TestJobOutputCommitter should be because of MAPREDUCE-1275. It passed on my machine. Am going to commit this to trunk. > 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.