You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-commits@hadoop.apache.org by to...@apache.org on 2011/03/17 22:16:50 UTC

svn commit: r1082703 - in /hadoop/mapreduce/trunk: CHANGES.txt src/test/mapred/org/apache/hadoop/mapred/MiniMRCluster.java src/test/mapred/org/apache/hadoop/mapred/TestJobRetire.java

Author: tomwhite
Date: Thu Mar 17 21:16:50 2011
New Revision: 1082703

URL: http://svn.apache.org/viewvc?rev=1082703&view=rev
Log:
MAPREDUCE-2392. TaskTracker shutdown in the tests sometimes take 60s.

Modified:
    hadoop/mapreduce/trunk/CHANGES.txt
    hadoop/mapreduce/trunk/src/test/mapred/org/apache/hadoop/mapred/MiniMRCluster.java
    hadoop/mapreduce/trunk/src/test/mapred/org/apache/hadoop/mapred/TestJobRetire.java

Modified: hadoop/mapreduce/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/trunk/CHANGES.txt?rev=1082703&r1=1082702&r2=1082703&view=diff
==============================================================================
--- hadoop/mapreduce/trunk/CHANGES.txt (original)
+++ hadoop/mapreduce/trunk/CHANGES.txt Thu Mar 17 21:16:50 2011
@@ -639,6 +639,9 @@ Release 0.22.0 - Unreleased
     MAPREDUCE-2394. JUnit output format doesn't propagate into raid contrib
     build. (todd)
 
+    MAPREDUCE-2392. TaskTracker shutdown in the tests sometimes take 60s.
+    (tomwhite)
+
 Release 0.21.1 - Unreleased
 
   NEW FEATURES

Modified: hadoop/mapreduce/trunk/src/test/mapred/org/apache/hadoop/mapred/MiniMRCluster.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/trunk/src/test/mapred/org/apache/hadoop/mapred/MiniMRCluster.java?rev=1082703&r1=1082702&r2=1082703&view=diff
==============================================================================
--- hadoop/mapreduce/trunk/src/test/mapred/org/apache/hadoop/mapred/MiniMRCluster.java (original)
+++ hadoop/mapreduce/trunk/src/test/mapred/org/apache/hadoop/mapred/MiniMRCluster.java Thu Mar 17 21:16:50 2011
@@ -689,7 +689,6 @@ public class MiniMRCluster {
     tracker.shutdown();
 
     Thread thread = taskTrackerThreadList.remove(id);
-    thread.interrupt();
     
     try {
       thread.join();
@@ -752,7 +751,6 @@ public class MiniMRCluster {
         TaskTrackerRunner taskTracker = taskTrackerList.get(idx);
         Thread taskTrackerThread = taskTrackerThreadList.get(idx);
         taskTracker.shutdown();
-        taskTrackerThread.interrupt();
         try {
           taskTrackerThread.join();
         } catch (InterruptedException ex) {

Modified: hadoop/mapreduce/trunk/src/test/mapred/org/apache/hadoop/mapred/TestJobRetire.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/trunk/src/test/mapred/org/apache/hadoop/mapred/TestJobRetire.java?rev=1082703&r1=1082702&r2=1082703&view=diff
==============================================================================
--- hadoop/mapreduce/trunk/src/test/mapred/org/apache/hadoop/mapred/TestJobRetire.java (original)
+++ hadoop/mapreduce/trunk/src/test/mapred/org/apache/hadoop/mapred/TestJobRetire.java Thu Mar 17 21:16:50 2011
@@ -176,6 +176,8 @@ public class TestJobRetire extends TestC
    */
   class WaitingTaskTracker extends TaskTracker {
     
+    private volatile boolean alive = true;
+    
     WaitingTaskTracker(JobConf conf) throws IOException, InterruptedException {
       super(conf);
     }
@@ -185,8 +187,16 @@ public class TestJobRetire extends TestC
       HeartbeatResponse response = super.transmitHeartBeat(now);
       LOG.info("WaitingTaskTracker waiting");
       // wait forever
-      UtilsForTests.waitFor(Long.MAX_VALUE);
-      throw new IOException ("WaitingTaskTracker interrupted. Bailing out");
+      while (alive) {
+        UtilsForTests.waitFor(1000);
+      }
+      throw new IOException ("WaitingTaskTracker shutdown. Bailing out");
+    }
+    
+    @Override
+    public synchronized void shutdown() throws IOException {
+      alive = false;
+      super.shutdown();
     }
   }