Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
HBASE-22723 Have CatalogJanitor report holes and overlaps; i.e. probl…
…ems it sees when doing its regular scan of hbase:meta Refactor of CatalogJanitor so it generates a Report on the state of hbase:meta when it runs. Also refactor so CJ runs even if RIT (previous it would punt on running if RIT) so it can generate a 'Report' on the interval regardless. If RIT, it just doesn't go on to do the merge/split GC as it used to. If report finds an issue, dump as a WARN message to the master log. Follow-on is to make the Report actionable/available for the Master to pull when it goes to draw the hbck UI page (could also consider shipping the Report as part of ClusterMetrics?) Adds new, fatter Visitor to CJ, one that generates Report on each run keeping around more findings as it runs. Moved some methods around so class reads better; previous methods were randomly ordered in the class. M hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java Make a few handy methods public. M hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfo.java Add utility as defaults on the Inteface; i.e. is this the first region in table, is it last, does a passed region come next, or does passed region overlap this region (added tests for this new stuff). M hbase-common/src/main/java/org/apache/hadoop/hbase/util/Bytes.java Bugfix... handle case where buffer passed is null. M hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java Lots of change, reorg., but mostly adding consistency checking to the visitor used scanning hbase:meta on a period and the generation of a Report on what the scan has found traversing hbase:meta. Added a main so could try the CatalogJanitor against a running cluster. A hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitorCluster.java Fat ugly test for CatalogJanitor consistency checking. M hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionInfo.java Add tests for new functionality in RI. M hbase-shell/src/main/ruby/hbase/table.rb Bug fix for case where meta has a null regioninfo; scan was aborting. Signed-off-by: Andrew Purtell <[email protected]> Signed-off-by: Wellington Chevreuil <[email protected]>
- Loading branch information