Return-Path: Delivered-To: apmail-hadoop-core-commits-archive@www.apache.org Received: (qmail 44405 invoked from network); 25 Mar 2009 06:22:00 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 25 Mar 2009 06:22:00 -0000 Received: (qmail 35605 invoked by uid 500); 25 Mar 2009 06:22:00 -0000 Delivered-To: apmail-hadoop-core-commits-archive@hadoop.apache.org Received: (qmail 35524 invoked by uid 500); 25 Mar 2009 06:22:00 -0000 Mailing-List: contact core-commits-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: core-dev@hadoop.apache.org Delivered-To: mailing list core-commits@hadoop.apache.org Received: (qmail 35515 invoked by uid 99); 25 Mar 2009 06:22:00 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 25 Mar 2009 06:22:00 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 25 Mar 2009 06:21:59 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 4D1DC23889BB; Wed, 25 Mar 2009 06:21:39 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r758156 - in /hadoop/core/trunk: CHANGES.txt src/mapred/org/apache/hadoop/mapred/TaskInProgress.java Date: Wed, 25 Mar 2009 06:21:38 -0000 To: core-commits@hadoop.apache.org From: ddas@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20090325062139.4D1DC23889BB@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: ddas Date: Wed Mar 25 06:21:36 2009 New Revision: 758156 URL: http://svn.apache.org/viewvc?rev=758156&view=rev Log: HADOOP-5374. Fixes a NPE problem in getTasksToSave method. Contributed by Amareshwari Sriramadasu. Modified: hadoop/core/trunk/CHANGES.txt hadoop/core/trunk/src/mapred/org/apache/hadoop/mapred/TaskInProgress.java Modified: hadoop/core/trunk/CHANGES.txt URL: http://svn.apache.org/viewvc/hadoop/core/trunk/CHANGES.txt?rev=758156&r1=758155&r2=758156&view=diff ============================================================================== --- hadoop/core/trunk/CHANGES.txt (original) +++ hadoop/core/trunk/CHANGES.txt Wed Mar 25 06:21:36 2009 @@ -1156,6 +1156,9 @@ HADOOP-4719. Fix documentation of 'ls' format for FsShell. (Ravi Phulari via cdouglas) + HADOOP-5374. Fixes a NPE problem in getTasksToSave method. + (Amareshwari Sriramadasu via ddas) + Release 0.19.1 - 2009-02-23 IMPROVEMENTS Modified: hadoop/core/trunk/src/mapred/org/apache/hadoop/mapred/TaskInProgress.java URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/mapred/org/apache/hadoop/mapred/TaskInProgress.java?rev=758156&r1=758155&r2=758156&view=diff ============================================================================== --- hadoop/core/trunk/src/mapred/org/apache/hadoop/mapred/TaskInProgress.java (original) +++ hadoop/core/trunk/src/mapred/org/apache/hadoop/mapred/TaskInProgress.java Wed Mar 25 06:21:36 2009 @@ -418,7 +418,8 @@ * Returns whether the task attempt should be committed or not */ public boolean shouldCommit(TaskAttemptID taskid) { - return !isComplete() && taskToCommit.equals(taskid); + return !isComplete() && isCommitPending(taskid) && + taskToCommit.equals(taskid); } /** @@ -540,14 +541,12 @@ return false; } + //Do not accept any status once the task is marked FAILED/KILLED //This is to handle the case of the JobTracker timing out a task - //due to launch delay, but the TT comes back with one of the - //states mentioned in the newState - if (oldState == TaskStatus.State.FAILED && - (newState == TaskStatus.State.UNASSIGNED || - newState == TaskStatus.State.RUNNING || - newState == TaskStatus.State.COMMIT_PENDING || - newState == TaskStatus.State.SUCCEEDED)) { + //due to launch delay, but the TT comes back with any state or + //TT got expired + if (oldState == TaskStatus.State.FAILED || + oldState == TaskStatus.State.KILLED) { tasksToKill.put(taskid, true); return false; }