Description
This issue was spotted by Ram over in HBASE-4238. Over in that issue he suggested this fix:
diff --git a/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java b/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java index 47a1c21..028425a 100644 --- a/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java +++ b/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java @@ -218,14 +218,6 @@ public class TestCatalogJanitor { assertFalse(janitor.cleanParent(parent, r)); // Remove the reference file and try again. assertTrue(fs.delete(p, true)); - // We will fail!!! Because split b is empty, which is right... we should - // not remove parent if daughters do not exist in fs. - assertFalse(janitor.cleanParent(parent, r)); - // Put in place daughter dir for b... that should make it so parent gets - // cleaned up. - storedir = Store.getStoreHomedir(tabledir, splitb.getEncodedName(), - htd.getColumnFamilies()[0].getName()); - assertTrue(fs.mkdirs(storedir)); assertTrue(janitor.cleanParent(parent, r)); } -}
HBASE-4238 changed our behavior on rollback.. we leave the regiondir in place so the above test was failing.