From fc570b55b9d1d1d57329eca223f443e2c86f34b7 Mon Sep 17 00:00:00 2001 From: Akira Ajisaka Date: Tue, 19 Jul 2016 13:49:24 -0700 Subject: [PATCH] HDFS-10603. Fix flaky tests in org.apache.hadoop.hdfs.server.namenode.snapshot.TestOpenFilesWithSnapshot. Contributed by Yiqun Lin. --- .../snapshot/TestOpenFilesWithSnapshot.java | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestOpenFilesWithSnapshot.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestOpenFilesWithSnapshot.java index 812bcc5b386..7b7c34ad27e 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestOpenFilesWithSnapshot.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestOpenFilesWithSnapshot.java @@ -69,7 +69,7 @@ public class TestOpenFilesWithSnapshot { // delete files separately fs.delete(new Path("/test/test/test2"), true); fs.delete(new Path("/test/test/test3"), true); - cluster.restartNameNode(); + restartNameNode(); } @Test @@ -79,7 +79,7 @@ public class TestOpenFilesWithSnapshot { // delete parent directory fs.delete(new Path("/test/test"), true); - cluster.restartNameNode(); + restartNameNode(); } @Test @@ -87,11 +87,7 @@ public class TestOpenFilesWithSnapshot { Path path = new Path("/test"); doWriteAndAbort(fs, path); fs.delete(new Path("/test/test"), true); - NameNode nameNode = cluster.getNameNode(); - NameNodeAdapter.enterSafeMode(nameNode, false); - NameNodeAdapter.saveNamespace(nameNode); - NameNodeAdapter.leaveSafeMode(nameNode); - cluster.restartNameNode(true); + restartNameNode(); // read snapshot file after restart String test2snapshotPath = Snapshot.getSnapshotPath(path.toString(), @@ -108,11 +104,7 @@ public class TestOpenFilesWithSnapshot { doWriteAndAbort(fs, path); fs.delete(new Path("/test/test/test2"), true); fs.delete(new Path("/test/test/test3"), true); - NameNode nameNode = cluster.getNameNode(); - NameNodeAdapter.enterSafeMode(nameNode, false); - NameNodeAdapter.saveNamespace(nameNode); - NameNodeAdapter.leaveSafeMode(nameNode); - cluster.restartNameNode(true); + restartNameNode(); // read snapshot file after restart String test2snapshotPath = Snapshot.getSnapshotPath(path.toString(), @@ -203,6 +195,11 @@ public class TestOpenFilesWithSnapshot { fs.rename(new Path("/test/test"), new Path("/test/test-renamed")); fs.delete(new Path("/test/test-renamed"), true); + restartNameNode(); + } + + private void restartNameNode() throws Exception { + cluster.triggerBlockReports(); NameNode nameNode = cluster.getNameNode(); NameNodeAdapter.enterSafeMode(nameNode, false); NameNodeAdapter.saveNamespace(nameNode);