Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.22.0
-
None
-
Reviewed
-
Fixed a bug that causes TaskRunner to get NPE in getting ugi from TaskTracker and subsequently crashes it resulting in a failing task after task-timeout period.
Description
The following code in TaskRunner can get NPE in the scenario described below.
UserGroupInformation ugi = tracker.getRunningJob(t.getJobID()).getUGI();
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.
Attachments
Attachments
Issue Links
- incorporates
-
MAPREDUCE-1703 TaskRunner would crash in finally block if taskDistributedCacheManager is null
- Resolved