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

ZhuGuanyin commented on MAPREDUCE-1247:
---------------------------------------

The taskCleanup thread lock the TaskTracker when it call 
MapOutputFile.removeAll() through TaskTracker.purgeTask() to cleanup a task or 
TaskTracker.purgeJob() to cleanup a job, if the midoutput file larger than 
50GB, and there some other io operations on this disk, it would hold the 
tasktracker lock for a long time enough to let the jobtracker treat this 
tasktracker as dead.

I think the current heartbeat thread has to handle too many things which 
doesn't its duty.  the deadlock in tasktracker currently may still happen and 
may not be found in current implentition. And I don't think it is the 
hearbeat's duty to found the deadlock in tasktracker.

> Send out-of-band heartbeat to avoid fake lost tasktracker
> ---------------------------------------------------------
>
>                 Key: MAPREDUCE-1247
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-1247
>             Project: Hadoop Map/Reduce
>          Issue Type: New Feature
>            Reporter: ZhuGuanyin
>
> Currently the TaskTracker report task status to jobtracker through heartbeat, 
> sometimes if the tasktracker  lock the tasktracker to do some cleanup  job, 
> like remove task temp data on disk, the heartbeat thread would hang for a 
> long time while waiting for the lock, so the jobtracker just thought it had 
> lost and would reschedule all its finished maps or un finished reduce on 
> other tasktrackers, we call it "fake lost tasktracker", some times it doesn't 
> acceptable especially when we run some large jobs.  So We introduce a 
> out-of-band heartbeat mechanism to send an out-of-band heartbeat in that case.

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