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

Reply via email to