[ 
https://issues.apache.org/jira/browse/HADOOP-1127?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12490159
 ] 

Hadoop QA commented on HADOOP-1127:
-----------------------------------

+1

http://issues.apache.org/jira/secure/attachment/12355857/HADOOP-1127_20070420_8.patch
 applied and successfully tested against trunk revision r530153.

Test results:   
http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Patch/62/testReport/
Console output: 
http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Patch/62/console

> Speculative Execution and output of Reduce tasks
> ------------------------------------------------
>
>                 Key: HADOOP-1127
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1127
>             Project: Hadoop
>          Issue Type: Improvement
>          Components: mapred
>    Affects Versions: 0.12.0
>            Reporter: Arun C Murthy
>         Assigned To: Arun C Murthy
>             Fix For: 0.13.0
>
>         Attachments: HADOOP-1127_20070328_1.patch, 
> HADOOP-1127_20070331_2.patch, HADOOP-1127_20070402_3.patch, 
> HADOOP-1127_20070403_4.patch, HADOOP-1127_20070405_5.patch, 
> HADOOP-1127_20070409_6.patch, HADOOP-1127_20070419_7.patch, 
> HADOOP-1127_20070420_8.patch
>
>
> We've recently seen instances where jobs run with 'speculative execution' 
> tend to be quite unstable and fail with *AlreadyBeingCreatedException* 
> noticed at the NameNode. Also potentially we could have hairy situations 
> where a failed Reduce tasks's output could clash with a successful task's 
> (same tip) output.
> As it exists, speculative execution relies on the PhasedFileSystem which 
> creates a temp output file and then on task-completion that file is 'moved' 
> to its final position via a call to PhasedFileSystem.commit from 
> ReduceTask.run(). This has lead to issues such as the above.
> Proposal:
> Basically the idea is to due this uniformly for all Reduce tasks i.e. all 
> reducers create temp files and then have a serialized 'commit' done by the 
> JobTracker which moves the temp file to it's final position. 
> We create the temp file in the job's output directory itself:
> <output_dir>/_<taskid> (emphasis on the leading '_')
> On task completion we'll add that temp file's path to the TaskStatus and then 
> the JobTracker moves that file to it's final position.
> Thoughts?

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