Author: cnauroth
Date: Tue Jul  2 05:47:51 2013
New Revision: 1498790

URL: http://svn.apache.org/r1498790
Log:
HADOOP-9678. TestRPC#testStopsAllThreads intermittently fails on Windows. 
Contributed by Ivan Mitic.

Modified:
    hadoop/common/branches/branch-1/CHANGES.txt
    hadoop/common/branches/branch-1/src/test/org/apache/hadoop/ipc/TestRPC.java

Modified: hadoop/common/branches/branch-1/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-1/CHANGES.txt?rev=1498790&r1=1498789&r2=1498790&view=diff
==============================================================================
--- hadoop/common/branches/branch-1/CHANGES.txt (original)
+++ hadoop/common/branches/branch-1/CHANGES.txt Tue Jul  2 05:47:51 2013
@@ -68,6 +68,9 @@ Release 1.3.0 - unreleased
     HDFS-4944. WebHDFS cannot create a file path containing characters that 
must
     be URI-encoded, such as space. (cnauroth)
 
+    HADOOP-9678. TestRPC#testStopsAllThreads intermittently fails on Windows.
+    (Ivan Mitic via cnauroth)
+
 Release 1.2.1 - Unreleased 
 
   INCOMPATIBLE CHANGES

Modified: 
hadoop/common/branches/branch-1/src/test/org/apache/hadoop/ipc/TestRPC.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-1/src/test/org/apache/hadoop/ipc/TestRPC.java?rev=1498790&r1=1498789&r2=1498790&view=diff
==============================================================================
--- hadoop/common/branches/branch-1/src/test/org/apache/hadoop/ipc/TestRPC.java 
(original)
+++ hadoop/common/branches/branch-1/src/test/org/apache/hadoop/ipc/TestRPC.java 
Tue Jul  2 05:47:51 2013
@@ -448,7 +448,17 @@ public class TestRPC extends TestCase {
         0, 5, true, conf);
     server.start();
     try {
-      int threadsRunning = countThreads("Server$Listener$Reader");
+      // Wait for at least one reader thread to start
+      int threadsRunning = 0;
+      long totalSleepTime = 0;
+      do {
+        totalSleepTime += 10;
+        Thread.sleep(10);
+        threadsRunning = countThreads("Server$Listener$Reader");
+      } while (threadsRunning == 0 && totalSleepTime < 5000);
+
+      // Validate that at least one thread started (we didn't timeout)
+      threadsRunning = countThreads("Server$Listener$Reader");
       assertTrue(threadsRunning > 0);
     } finally {
       server.stop();


Reply via email to