Return-Path: Delivered-To: apmail-lucene-hadoop-dev-archive@locus.apache.org Received: (qmail 48248 invoked from network); 15 Mar 2007 23:12:31 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 15 Mar 2007 23:12:30 -0000 Received: (qmail 97587 invoked by uid 500); 15 Mar 2007 23:12:38 -0000 Delivered-To: apmail-lucene-hadoop-dev-archive@lucene.apache.org Received: (qmail 97466 invoked by uid 500); 15 Mar 2007 23:12:38 -0000 Mailing-List: contact hadoop-dev-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: hadoop-dev@lucene.apache.org Delivered-To: mailing list hadoop-dev@lucene.apache.org Received: (qmail 97457 invoked by uid 99); 15 Mar 2007 23:12:38 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 15 Mar 2007 16:12:38 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO brutus.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 15 Mar 2007 16:12:29 -0700 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 3CB4571407B for ; Thu, 15 Mar 2007 16:12:09 -0700 (PDT) Message-ID: <31235710.1174000329228.JavaMail.jira@brutus> Date: Thu, 15 Mar 2007 16:12:09 -0700 (PDT) From: "Arun C Murthy (JIRA)" To: hadoop-dev@lucene.apache.org Subject: [jira] Created: (HADOOP-1127) Speculative Execution and output of Reduce tasks MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org 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 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: /_ (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.