[
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