You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by om...@apache.org on 2011/03/04 06:38:06 UTC

svn commit: r1077818 - /hadoop/common/branches/branch-0.20-security-202/src/mapred/org/apache/hadoop/mapred/TaskTracker.java

Author: omalley
Date: Fri Mar  4 05:38:05 2011
New Revision: 1077818

URL: http://svn.apache.org/viewvc?rev=1077818&view=rev
Log:
commit 15dafe929a06545feb5d0fec7237701f157530a3
Author: Luke Lu <ll...@yahoo-inc.com>
Date:   Fri Feb 11 12:28:44 2011 -0800

     Fix a task state corrupting race
    
    +++ b/YAHOO-CHANGES.txt
    +Release 0.20.202.3 - unreleased
    +
    +     Fix a task state corrupting race. (llu)
    +

Modified:
    hadoop/common/branches/branch-0.20-security-202/src/mapred/org/apache/hadoop/mapred/TaskTracker.java

Modified: hadoop/common/branches/branch-0.20-security-202/src/mapred/org/apache/hadoop/mapred/TaskTracker.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.20-security-202/src/mapred/org/apache/hadoop/mapred/TaskTracker.java?rev=1077818&r1=1077817&r2=1077818&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.20-security-202/src/mapred/org/apache/hadoop/mapred/TaskTracker.java (original)
+++ hadoop/common/branches/branch-0.20-security-202/src/mapred/org/apache/hadoop/mapred/TaskTracker.java Fri Mar  4 05:38:05 2011
@@ -2372,12 +2372,13 @@ public class TaskTracker implements MRCo
           ((this.taskStatus.getRunState() == TaskStatus.State.COMMIT_PENDING ||
            this.taskStatus.getRunState() == TaskStatus.State.FAILED_UNCLEAN ||
            this.taskStatus.getRunState() == TaskStatus.State.KILLED_UNCLEAN) &&
-           taskStatus.getRunState() == TaskStatus.State.RUNNING)) {
+           (taskStatus.getRunState() == TaskStatus.State.RUNNING ||
+            taskStatus.getRunState() == TaskStatus.State.UNASSIGNED))) {
         //make sure we ignore progress messages after a task has 
         //invoked TaskUmbilicalProtocol.done() or if the task has been
         //KILLED/FAILED/FAILED_UNCLEAN/KILLED_UNCLEAN
         //Also ignore progress update if the state change is from 
-        //COMMIT_PENDING/FAILED_UNCLEAN/KILLED_UNCLEA to RUNNING
+        //COMMIT_PENDING/FAILED_UNCLEAN/KILLED_UNCLEA to RUNNING or UNASSIGNED
         LOG.info(task.getTaskID() + " Ignoring status-update since " +
                  ((this.done) ? "task is 'done'" : 
                                 ("runState: " + this.taskStatus.getRunState()))