Author: ddas
Date: Mon Jan 19 10:10:23 2009
New Revision: 735766

URL: http://svn.apache.org/viewvc?rev=735766&view=rev
Log:
Merge -r 735763:735764 from trunk onto 0.19 branch. Fixes HADOOP-4967.

Modified:
    hadoop/core/branches/branch-0.19/CHANGES.txt
    
hadoop/core/branches/branch-0.19/src/mapred/org/apache/hadoop/mapred/JvmManager.java
    
hadoop/core/branches/branch-0.19/src/mapred/org/apache/hadoop/mapred/TaskTracker.java

Modified: hadoop/core/branches/branch-0.19/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hadoop/core/branches/branch-0.19/CHANGES.txt?rev=735766&r1=735765&r2=735766&view=diff
==============================================================================
--- hadoop/core/branches/branch-0.19/CHANGES.txt (original)
+++ hadoop/core/branches/branch-0.19/CHANGES.txt Mon Jan 19 10:10:23 2009
@@ -59,6 +59,9 @@
 
     HADOOP-4965. TestFileAppend3 should close FileSystem. (shv)
 
+    HADOOP-4967. Fixes a race condition in the JvmManager to do with killing
+    tasks. (ddas)
+
 Release 0.19.0 - 2008-11-18
 
   INCOMPATIBLE CHANGES

Modified: 
hadoop/core/branches/branch-0.19/src/mapred/org/apache/hadoop/mapred/JvmManager.java
URL: 
http://svn.apache.org/viewvc/hadoop/core/branches/branch-0.19/src/mapred/org/apache/hadoop/mapred/JvmManager.java?rev=735766&r1=735765&r2=735766&view=diff
==============================================================================
--- 
hadoop/core/branches/branch-0.19/src/mapred/org/apache/hadoop/mapred/JvmManager.java
 (original)
+++ 
hadoop/core/branches/branch-0.19/src/mapred/org/apache/hadoop/mapred/JvmManager.java
 Mon Jan 19 10:10:23 2009
@@ -195,6 +195,11 @@
     }
     private synchronized void reapJvm( 
         TaskRunner t, TaskTracker tracker, JvmEnv env) {
+      if (t.getTaskInProgress().wasKilled()) {
+        //the task was killed in-flight
+        //no need to do the rest of the operations
+        return;
+      }
       boolean spawnNewJvm = false;
       JobID jobId = t.getTask().getJobID();
       //Check whether there is a free slot to start a new JVM.

Modified: 
hadoop/core/branches/branch-0.19/src/mapred/org/apache/hadoop/mapred/TaskTracker.java
URL: 
http://svn.apache.org/viewvc/hadoop/core/branches/branch-0.19/src/mapred/org/apache/hadoop/mapred/TaskTracker.java?rev=735766&r1=735765&r2=735766&view=diff
==============================================================================
--- 
hadoop/core/branches/branch-0.19/src/mapred/org/apache/hadoop/mapred/TaskTracker.java
 (original)
+++ 
hadoop/core/branches/branch-0.19/src/mapred/org/apache/hadoop/mapred/TaskTracker.java
 Mon Jan 19 10:10:23 2009
@@ -1710,7 +1710,7 @@
     StringBuffer diagnosticInfo = new StringBuffer();
     private TaskRunner runner;
     volatile boolean done = false;
-    boolean wasKilled = false;
+    volatile boolean wasKilled = false;
     private JobConf defaultJobConf;
     private JobConf localJobConf;
     private boolean keepFailedTaskFiles;
@@ -1953,6 +1953,10 @@
       LOG.info("reported output size for " + task.getTaskID() +  "  was " + 
taskStatus.getOutputSize());
 
     }
+    
+    public boolean wasKilled() {
+      return wasKilled;
+    }
 
     /**
      * The task has actually finished running.


Reply via email to