浏览代码

HDFS-8785. TestDistributedFileSystem is failing in trunk. Contributed by Xiaoyu Yao.

(cherry picked from commit 2196e39e142b0f8d1944805db2bfacd4e3244625)
Xiaoyu Yao 9 年之前
父节点
当前提交
08616b3654

+ 2 - 0
hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt

@@ -1630,6 +1630,8 @@ Release 2.7.3 - UNRELEASED
     HDFS-9383. TestByteArrayManager#testByteArrayManager fails.
     (szetszwo via kihwal)
 
+    HDFS-8785. TestDistributedFileSystem is failing in trunk. (Xiaoyu Yao)
+
 Release 2.7.2 - UNRELEASED
 
   INCOMPATIBLE CHANGES

+ 8 - 5
hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDistributedFileSystem.java

@@ -1131,19 +1131,22 @@ public class TestDistributedFileSystem {
     try {
       cluster.waitActive();
       DistributedFileSystem dfs = cluster.getFileSystem();
-      // Write 1 MB to a dummy socket to ensure the write times out
+      // Write 10 MB to a dummy socket to ensure the write times out
       ServerSocket socket = new ServerSocket(0);
       Peer peer = dfs.getClient().newConnectedPeer(
         (InetSocketAddress) socket.getLocalSocketAddress(), null, null);
       long start = Time.now();
       try {
-        byte[] buf = new byte[1024 * 1024];
+        byte[] buf = new byte[10 * 1024 * 1024];
         peer.getOutputStream().write(buf);
-        Assert.fail("write should timeout");
+        long delta = Time.now() - start;
+        Assert.fail("write finish in " + delta + " ms" + "but should timedout");
       } catch (SocketTimeoutException ste) {
         long delta = Time.now() - start;
-        Assert.assertTrue("write timedout too soon", delta >= timeout * 0.9);
-        Assert.assertTrue("write timedout too late", delta <= timeout * 1.1);
+        Assert.assertTrue("write timedout too soon in " + delta + " ms",
+            delta >= timeout * 0.9);
+        Assert.assertTrue("write timedout too late in " + delta + " ms",
+            delta <= timeout * 1.2);
       } catch (Throwable t) {
         Assert.fail("wrong exception:" + t);
       }