From 2d74f6805432d2dbbc4f1f07ac185bb4bdc429ad Mon Sep 17 00:00:00 2001 From: Tsz-wo Sze Date: Thu, 25 Oct 2012 18:53:25 +0000 Subject: [PATCH] HDFS-3948. Do not use hflush in TestWebHDFS.testNamenodeRestart() since the out stream returned by WebHdfsFileSystem does not support it. Contributed by Jing Zhao git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1402270 13f79535-47bb-0310-9956-ffa450edef68 --- hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 4 +++ .../hadoop/hdfs/TestDFSClientRetries.java | 25 ++++++++++++++----- 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt index 2094fb427fa..d0f39565056 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -496,6 +496,10 @@ Release 2.0.3-alpha - Unreleased HDFS-4022. Replication not happening for appended block. (Vinay via umamahesh) + HDFS-3948. Do not use hflush in TestWebHDFS.testNamenodeRestart() since the + out stream returned by WebHdfsFileSystem does not support it. (Jing Zhao + via szetszwo) + Release 2.0.2-alpha - 2012-09-07 INCOMPATIBLE CHANGES diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDFSClientRetries.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDFSClientRetries.java index 2e9deee05a6..dc77b251946 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDFSClientRetries.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDFSClientRetries.java @@ -876,7 +876,14 @@ public class TestDFSClientRetries { new Random().nextBytes(bytes); out4.write(bytes); out4.write(bytes); - out4.hflush(); + if (isWebHDFS) { + // WebHDFS does not support hflush. To avoid DataNode communicating with + // NN while we're shutting down NN, we call out4.close() to finish + // writing the data + out4.close(); + } else { + out4.hflush(); + } //shutdown namenode assertTrue(HdfsUtils.isHealthy(uri)); @@ -889,10 +896,12 @@ public class TestDFSClientRetries { public void run() { try { //write some more data and then close the file - out4.write(bytes); - out4.write(bytes); - out4.write(bytes); - out4.close(); + if (!isWebHDFS) { + out4.write(bytes); + out4.write(bytes); + out4.write(bytes); + out4.close(); + } } catch (Exception e) { exceptions.add(e); } @@ -975,7 +984,11 @@ public class TestDFSClientRetries { Assert.assertEquals(String.format("count=%d", count), bytes[count % bytes.length], (byte)r); } - Assert.assertEquals(5 * bytes.length, count); + if (!isWebHDFS) { + Assert.assertEquals(5 * bytes.length, count); + } else { + Assert.assertEquals(2 * bytes.length, count); + } in.close(); }