[ 
https://issues.apache.org/jira/browse/MAPREDUCE-4817?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13504777#comment-13504777
 ] 

Thomas Graves commented on MAPREDUCE-4817:
------------------------------------------

When you say knock off the ping thread I assume you really mean just the ping 
timeout check since the task progress happens in the same thread?

So the ping serves multiple purposes.  Currently it notifies the AM that the 
task has "pinged" in and is still running.  This could be useful even with 
taskTimeout since the taskTimeout could be turned off (set to 0) and we would 
never know if that task got hung.  Second, the task uses it to check to see if 
the AM is still alive.  If it doesn't return true, the task is supposed to 
exit.  1.X also had the ping check, but it went to the taskTracker and the 
tasktracker validated that the parent Task of the ping checker thread was still 
there.

Now with 0.23 the nodemanager is watching the processes and talking back to the 
RM to let it know that the AM died and if it died it kills the other tasks, but 
if the entire nodemanager goes down then the task doesn't know the AM went 
away.  If the task isn't sending progress, and the task timeout is set to 0, 
and this is the last AM retry it could hang around forever.  

The odds of that seem pretty small and I guess if we aren't worried about the 
first happening, the second probably isn't that interesting either. But we 
could also just remove the ping timeout check in the TaskHeartBeatHandler.    
What exactly are you proposing?
                
> Hardcoded task ping timeout kills tasks localizing large amounts of data
> ------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-4817
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-4817
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: applicationmaster, mr-am
>    Affects Versions: 0.23.3, 2.0.3-alpha
>            Reporter: Jason Lowe
>            Assignee: Thomas Graves
>            Priority: Critical
>
> When a task is launched and spends more than 5 minutes localizing files, the 
> AM will kill the task due to ping timeout.  The AM's TaskHeartbeatHandler 
> currently tracks tasks via a progress timeout and a ping timeout.  The 
> progress timeout can be controlled via mapreduce.task.timeout and even 
> disabled by setting the property to 0.  The ping timeout, however, is 
> hardcoded to 5 minutes and cannot be configured.  Therefore if the task takes 
> too long localizing, it never gets running in order to ping back to the AM 
> and the AM kills it due to ping timeout.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to