[ 
http://issues.apache.org/jira/browse/HADOOP-133?page=comments#action_12374429 ] 

Doug Cutting commented on HADOOP-133:
-------------------------------------

That said, it's possible that the exit() somehow swallows the "Parent died" 
message and all that we see is the "Child died with nonzero exit status" 
message.  We do see those more than we'd like.  I don't see how the message 
could get swallowed, however.  The parent has a thread reading the standard 
error of the child to EOF.  The logged message should get flushed to standard 
error before the child process exits.  And the kernel shouldn't throw away the 
last buffer written when a process exits.  So I doubt that's happening.

> the TaskTracker.Child.ping thread calls exit
> --------------------------------------------
>
>          Key: HADOOP-133
>          URL: http://issues.apache.org/jira/browse/HADOOP-133
>      Project: Hadoop
>         Type: Bug

>   Components: mapred
>     Versions: 0.1.1
>     Reporter: Owen O'Malley
>     Assignee: Owen O'Malley

>
> The TaskTracker.Child.startPinging thread calls exit if the TaskTracker 
> doesn't respond. Calling exit in a mutli-threaded program is really 
> problematic. In particular, it prevents cleanup/finally clauses from running. 
> We need to move to a model where it uses Thread.interrupt(), which means we 
> need to check the interrupt flag in place in the map loop and reduce loop and 
> stop masking the InterruptExceptions.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to