diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt index b766e2659b..0b721ee5fe 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -723,6 +723,9 @@ Release 2.8.0 - UNRELEASED HDFS-8326. Documentation about when checkpoints are run is out of date. (Misty Stanley-Jones via xyao) + HDFS-8097. TestFileTruncate is failing intermittently. (Rakesh R via + Arpit Agarwal) + Release 2.7.1 - UNRELEASED INCOMPATIBLE CHANGES diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFileTruncate.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFileTruncate.java index bd19a5b413..1f65f786e3 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFileTruncate.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFileTruncate.java @@ -63,6 +63,7 @@ import org.apache.hadoop.util.ToolRunner; import org.apache.log4j.Level; import org.junit.AfterClass; +import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; @@ -87,6 +88,8 @@ public class TestFileTruncate { static MiniDFSCluster cluster; static DistributedFileSystem fs; + private Path parent; + @BeforeClass public static void startUp() throws IOException { conf = new HdfsConfiguration(); @@ -110,6 +113,12 @@ public static void tearDown() throws IOException { if(cluster != null) cluster.shutdown(); } + @Before + public void setup() throws IOException { + parent = new Path("/test"); + fs.delete(parent, true); + } + /** * Truncate files of different sizes byte by byte. */ @@ -117,7 +126,6 @@ public static void tearDown() throws IOException { public void testBasicTruncate() throws IOException { int startingFileSize = 3 * BLOCK_SIZE; - Path parent = new Path("/test"); fs.mkdirs(parent); fs.setQuota(parent, 100, 1000); byte[] contents = AppendTestUtil.initBuffer(startingFileSize); @@ -257,7 +265,6 @@ public void testSnapshotWithAppendTruncate() throws IOException { */ void testSnapshotWithAppendTruncate(int ... deleteOrder) throws IOException { FSDirectory fsDir = cluster.getNamesystem().getFSDirectory(); - Path parent = new Path("/test"); fs.mkdirs(parent); fs.setQuota(parent, 100, 1000); fs.allowSnapshot(parent); @@ -421,7 +428,6 @@ public void testSnapshotWithTruncates() throws IOException { } void testSnapshotWithTruncates(int ... deleteOrder) throws IOException { - Path parent = new Path("/test"); fs.mkdirs(parent); fs.setQuota(parent, 100, 1000); fs.allowSnapshot(parent); @@ -664,7 +670,6 @@ public void testTruncateFailure() throws IOException { public void testTruncateWithDataNodesRestart() throws Exception { int startingFileSize = 3 * BLOCK_SIZE; byte[] contents = AppendTestUtil.initBuffer(startingFileSize); - final Path parent = new Path("/test"); final Path p = new Path(parent, "testTruncateWithDataNodesRestart"); writeContents(contents, startingFileSize, p); @@ -719,7 +724,6 @@ public void testTruncateWithDataNodesRestart() throws Exception { public void testCopyOnTruncateWithDataNodesRestart() throws Exception { int startingFileSize = 3 * BLOCK_SIZE; byte[] contents = AppendTestUtil.initBuffer(startingFileSize); - final Path parent = new Path("/test"); final Path p = new Path(parent, "testCopyOnTruncateWithDataNodesRestart"); writeContents(contents, startingFileSize, p); @@ -779,7 +783,6 @@ public void testCopyOnTruncateWithDataNodesRestart() throws Exception { public void testTruncateWithDataNodesRestartImmediately() throws Exception { int startingFileSize = 3 * BLOCK_SIZE; byte[] contents = AppendTestUtil.initBuffer(startingFileSize); - final Path parent = new Path("/test"); final Path p = new Path(parent, "testTruncateWithDataNodesRestartImmediately"); writeContents(contents, startingFileSize, p); @@ -839,7 +842,6 @@ public void testTruncateWithDataNodesRestartImmediately() throws Exception { public void testTruncateWithDataNodesShutdownImmediately() throws Exception { int startingFileSize = 3 * BLOCK_SIZE; byte[] contents = AppendTestUtil.initBuffer(startingFileSize); - final Path parent = new Path("/test"); final Path p = new Path(parent, "testTruncateWithDataNodesShutdownImmediately"); writeContents(contents, startingFileSize, p); @@ -905,7 +907,6 @@ public void testTruncateEditLogLoad() throws IOException { */ @Test public void testUpgradeAndRestart() throws IOException { - Path parent = new Path("/test"); fs.mkdirs(parent); fs.setQuota(parent, 100, 1000); fs.allowSnapshot(parent); @@ -994,7 +995,6 @@ public void testTruncateRecovery() throws IOException { FSNamesystem fsn = cluster.getNamesystem(); String client = "client"; String clientMachine = "clientMachine"; - Path parent = new Path("/test"); String src = "/test/testTruncateRecovery"; Path srcPath = new Path(src); @@ -1067,7 +1067,6 @@ public void testTruncateRecovery() throws IOException { @Test public void testTruncateShellCommand() throws Exception { - final Path parent = new Path("/test"); final Path src = new Path("/test/testTruncateShellCommand"); final int oldLength = 2*BLOCK_SIZE + 1; final int newLength = BLOCK_SIZE + 1; @@ -1084,7 +1083,6 @@ public void testTruncateShellCommand() throws Exception { @Test public void testTruncateShellCommandOnBlockBoundary() throws Exception { - final Path parent = new Path("/test"); final Path src = new Path("/test/testTruncateShellCommandOnBoundary"); final int oldLength = 2 * BLOCK_SIZE; final int newLength = BLOCK_SIZE; @@ -1100,7 +1098,6 @@ public void testTruncateShellCommandOnBlockBoundary() throws Exception { @Test public void testTruncateShellCommandWithWaitOption() throws Exception { - final Path parent = new Path("/test"); final Path src = new Path("/test/testTruncateShellCommandWithWaitOption"); final int oldLength = 2 * BLOCK_SIZE + 1; final int newLength = BLOCK_SIZE + 1; @@ -1136,7 +1133,6 @@ private void runTruncateShellCommand(Path src, int oldLength, public void testTruncate4Symlink() throws IOException { final int fileLength = 3 * BLOCK_SIZE; - final Path parent = new Path("/test"); fs.mkdirs(parent); final byte[] contents = AppendTestUtil.initBuffer(fileLength); final Path file = new Path(parent, "testTruncate4Symlink");