Review Board 1.7.22

hbase-4238 CatalogJanitor can clear a daughter that split before processing its parent

Review Request #1819 - Created Sept. 13, 2011 and updated

Michael Stack
Previous, we'd not clean up a parent if its daughter region didn't exist in the fs.  This stipulation was added by HBASE-3872.  This patch undoes this barrier to parent cleanup (See  HBASE-3872 for why its ok to do this).


+ Break out the Comparator used by CatalogJanitor.  It was an anonymous class.  Instead we make it a static inner class so can add test that its actually sorting properly.
+ Added method hasNoReferences that will return true if no daughter dir OR no refs in daughter dir

Added some TODOs around SplitTransaction -- vaguely related to this patch.

Added new Test that checks cleanParent to ensure it works properly.  Refactored bits of previous tests so they use common code.

Ship it!
Posted (Sept. 13, 2011, 5:55 p.m.)