From 2f0d853fd64d158357ab931eebf672c3eea14f82 Mon Sep 17 00:00:00 2001 From: Chris Nauroth Date: Tue, 2 Jul 2013 05:38:22 +0000 Subject: [PATCH] HADOOP-9678. Merging change r1498786 from trunk to branch-2. git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-2@1498787 13f79535-47bb-0310-9956-ffa450edef68 --- hadoop-common-project/hadoop-common/CHANGES.txt | 3 +++ .../src/test/java/org/apache/hadoop/ipc/TestRPC.java | 12 +++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt index e9f417336c9..79652208338 100644 --- a/hadoop-common-project/hadoop-common/CHANGES.txt +++ b/hadoop-common-project/hadoop-common/CHANGES.txt @@ -515,6 +515,9 @@ Release 2.1.0-beta - 2013-07-02 HADOOP-9264. Port change to use Java untar API on Windows from branch-1-win to trunk. (Chris Nauroth via suresh) + HADOOP-9678. TestRPC#testStopsAllThreads intermittently fails on Windows. + (Ivan Mitic via cnauroth) + HADOOP-9665. Fixed BlockDecompressorStream#decompress to return -1 rather than throw EOF at end of file. (Zhijie Shen via acmurthy) diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ipc/TestRPC.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ipc/TestRPC.java index a4e915a30a3..50c91c1ab40 100644 --- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ipc/TestRPC.java +++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ipc/TestRPC.java @@ -781,7 +781,17 @@ public void testStopsAllThreads() throws Exception { .setNumHandlers(5).setVerbose(true).build(); 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();