[
https://issues.apache.org/jira/browse/MAPREDUCE-2157?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12925143#action_12925143
]
Joydeep Sen Sarma commented on MAPREDUCE-2157:
----------------------------------------------
i grepped through both the tasktracker and jobtracker log and looked for
anything matching reinit. nothing there.
the TT log is very clear in indicating that the map launcher just stopped
working at some point (it never emerged from a wait call). The reduce task
launcher kept working. unfortunately i didn't take a stack dump of the TT
before we restarted things. These are the log entries after which the Launcher
disappeared:
2010-10-23 22:16:59,381 INFO org.apache.hadoop.mapred.TaskTracker:
LaunchTaskAction (registerTask): attempt_201010171815_32743_m_000019_0 task's s\
tate:UNASSIGNED
2010-10-23 22:16:59,381 INFO org.apache.hadoop.mapred.TaskTracker: Trying to
launch : attempt_201010171815_32743_m_000019_0 which needs 1 slots
2010-10-23 22:16:59,381 INFO org.apache.hadoop.mapred.TaskTracker: TaskLauncher
: Waiting for 1 to launch attempt_201010171815_32743_m_000019_0, currently we
have 0 free slots
looking back - the only way this could have happened is actually via the
InterruptedException code path (and not the interrupted() state). (since if we
bailed out via the interrupted() check - there would have been some more log
entries filed after coming out of the wait. (But that doesn't make sense as per
Java's contract of InterruptedException).
> tasklauncher threads in TaskTracker can die because of unexpected interrupts
> ----------------------------------------------------------------------------
>
> Key: MAPREDUCE-2157
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-2157
> Project: Hadoop Map/Reduce
> Issue Type: Bug
> Reporter: Joydeep Sen Sarma
> Assignee: Joydeep Sen Sarma
> Priority: Critical
>
> taskLauncher thread exits on interruptedException and on Interrupt conditions
> without checking for any shutdown flag:
> while (!Thread.interrupted()) {
> ...
> } catch (InterruptedException e) {
> return; // ALL DONE
>
> }
> }
> If the interrupt happened because of reasons other than TaskTracker.close() -
> then the TaskTracker will look functional - but will not be able to schedule
> tasks anymore. worse - some tasks (that are in the launch queue) will hang
> indefinitely un UNASSIGNED state (the JobTracker will not even time them
> out). We have seen this cause jobs to hang indefinitely.
> It seems that the interrupted condition can be set by log4j (of which there
> are many calls inside TaskLauncher). See or instance:
> http://logging.apache.org/log4j/1.2/xref/org/apache/log4j/AsyncAppender.html
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.