[ 
https://issues.apache.org/jira/browse/MAPREDUCE-5877?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Karthik Kambatla updated MAPREDUCE-5877:
----------------------------------------

    Description: 
For the tasks that take too long to launch (for genuine reasons like large 
distributed caches), JT expires the task. Depending on whether job recovery is 
enabled and the JT's restart state, another attempt is launched or not even 
when the JT is not restarted. The status of the attempt changes to "Error 
launching task". Meanwhile, the TT is not informed of this task expiry and 
eventually launches the task. Also, the "new" attempt might be assigned to the 
same TT leading to more inconsistent behavior. 

To avoid this, one can bump up the mapred.tasktracker.expiry.interval, but 
leading to long TT failure discovery times. 

We should have a per-job timeout for task launches/ heartbeat and JT/TT should 
be consistent in what they say.

  was:
For the tasks that take too long to launch (for genuine reasons like large 
distributed caches), JT expires the task. Depending on whether job recovery is 
enabled and the JT's restart state, another attempt is launched or not even 
when the JT is not restarted. The status of the attempt changes to "Error 
launching task". Meanwhile, the TT is not informed of this task expiry and 
eventually launches the task. 

To avoid this weird behavior, one can bump up the 
mapred.tasktracker.expiry.interval, but leading to long TT failure discovery 
times. 

We should have a per-job timeout for task launches/ heartbeat and JT/TT should 
be consistent in what they say.


> Inconsistency between JT/TT for tasks taking a long time to launch
> ------------------------------------------------------------------
>
>                 Key: MAPREDUCE-5877
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-5877
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: jobtracker, tasktracker
>    Affects Versions: 1.2.1
>            Reporter: Karthik Kambatla
>            Assignee: Karthik Kambatla
>            Priority: Critical
>
> For the tasks that take too long to launch (for genuine reasons like large 
> distributed caches), JT expires the task. Depending on whether job recovery 
> is enabled and the JT's restart state, another attempt is launched or not 
> even when the JT is not restarted. The status of the attempt changes to 
> "Error launching task". Meanwhile, the TT is not informed of this task expiry 
> and eventually launches the task. Also, the "new" attempt might be assigned 
> to the same TT leading to more inconsistent behavior. 
> To avoid this, one can bump up the mapred.tasktracker.expiry.interval, but 
> leading to long TT failure discovery times. 
> We should have a per-job timeout for task launches/ heartbeat and JT/TT 
> should be consistent in what they say.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to