hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Owen O'Malley (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (HADOOP-5474) All reduce tasks should be re-executed when tasktracker with a completed map task failed
Date Tue, 17 Mar 2009 22:45:50 GMT

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

Owen O'Malley resolved HADOOP-5474.
-----------------------------------

    Resolution: Won't Fix

The cost of this change would be huge. Basically, any node going down or a crc failure in
shuffle would cause you to kill all currently running reduces. That is unacceptable. Your
application needs to be tolerant of reexecution of tasks. That is a fundamental constraint
of map/reduce programming. In order to make your example work, the map could use the hash
of the input split as the seed to the random number generator. That way, re-executions will
have consistent behavior.

> All reduce tasks should be re-executed when tasktracker with a completed map task failed
> ----------------------------------------------------------------------------------------
>
>                 Key: HADOOP-5474
>                 URL: https://issues.apache.org/jira/browse/HADOOP-5474
>             Project: Hadoop Core
>          Issue Type: Bug
>          Components: mapred
>    Affects Versions: 0.19.0
>         Environment: CentOS 5,
> hadoop-0.19.0
>            Reporter: Leitao Guo
>            Priority: Critical
>   Original Estimate: 96h
>  Remaining Estimate: 96h
>
> When a tasktracker with a completed map task failed, the map task will be re-exectuted,
and all reduce tasks that haven't read the data from that tasktracker should be re-executed.
But the reduce task that have read the data from that tasktracker will not be re-executed.

> In this situation, if the outputs of multi map tasks on the same dataset are different,
for example outputting a random number, the outputs of maptask and the re-executed maptask
will probably are different. Then the re-executed reduce tasks will read the new output of
the re-executed maptask, but reduce tasks that have read the data from the failed tasktracker
have read the old output. This probably will cause correctness of the result.
> A recommended solution is that all reduce tasks should be re-executed if one tasktracker
with a completed map task failed.
> Any comments? thanks!

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message