From 1ac42c9634873a626bfdb75298b4a10fbb64edfc Mon Sep 17 00:00:00 2001 From: stack Date: Fri, 4 Sep 2015 10:27:49 -0700 Subject: [PATCH] HBASE-14327 TestIOFencing#testFencingAroundCompactionAfterWALSync is flaky (Heng Chen) --- .../java/org/apache/hadoop/hbase/TestIOFencing.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/TestIOFencing.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/TestIOFencing.java index 659e3964be9..41e7ec5d38f 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/TestIOFencing.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/TestIOFencing.java @@ -321,6 +321,12 @@ public class TestIOFencing { newRegion = (CompactionBlockerRegion)newServer.getOnlineRegion(REGION_NAME); + // After compaction of old region finishes on the server that was going down, make sure that + // all the files we expect are still working when region is up in new location. + FileSystem fs = newRegion.getFilesystem(); + for (String f: newRegion.getStoreFileList(new byte [][] {FAMILY})) { + assertTrue("After compaction, does not exist: " + f, fs.exists(new Path(f))); + } LOG.info("Allowing compaction to proceed"); compactingRegion.allowCompactions(); while (compactingRegion.compactCount == 0) { @@ -329,12 +335,7 @@ public class TestIOFencing { // The server we killed stays up until the compaction that was started before it was killed completes. In logs // you should see the old regionserver now going down. LOG.info("Compaction finished"); - // After compaction of old region finishes on the server that was going down, make sure that - // all the files we expect are still working when region is up in new location. - FileSystem fs = newRegion.getFilesystem(); - for (String f: newRegion.getStoreFileList(new byte [][] {FAMILY})) { - assertTrue("After compaction, does not exist: " + f, fs.exists(new Path(f))); - } + // If we survive the split keep going... // Now we make sure that the region isn't totally confused. Load up more rows. TEST_UTIL.loadNumericRows(table, FAMILY, FIRST_BATCH_COUNT, FIRST_BATCH_COUNT + SECOND_BATCH_COUNT);