HDFS-10603. Fix flaky tests in org.apache.hadoop.hdfs.server.namenode.snapshot.TestOpenFilesWithSnapshot. Contributed by Yiqun Lin.

This commit is contained in:
Akira Ajisaka 2016-07-19 13:49:24 -07:00
parent cda0a280dd
commit fc570b55b9
1 changed files with 9 additions and 12 deletions

View File

@ -69,7 +69,7 @@ public void testUCFileDeleteWithSnapShot() throws Exception {
// 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 void testParentDirWithUCFileDeleteWithSnapShot() throws Exception {
// delete parent directory
fs.delete(new Path("/test/test"), true);
cluster.restartNameNode();
restartNameNode();
}
@Test
@ -87,11 +87,7 @@ public void testWithCheckpoint() throws Exception {
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 void testFilesDeletionWithCheckpoint() throws Exception {
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 void testOpenFilesWithRename() throws Exception {
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);