Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
While trying to use newly command extraRegionsInMeta added by HBASE-23371, daisuke.kobayashi noticed it was not working properly on some deployments not including another patch merged in HBASE-22758, that changed MetaTableAccessor interface:
$ hbase hbck -j hbase-operator-tools-1.0.0.1.0.0.0-11/hbase-hbck2/hbase-hbck2.jar extraRegionsInMeta -f default:cluster_test Regions that had no dir on the FileSystem and got removed from Meta: 0 ERROR: There were following errors on at least one table thread: java.lang.NoSuchMethodError: org.apache.hadoop.hbase.MetaTableAccessor.deleteRegionInfos(Lorg/apache/hadoop/hbase/client/Connection;Ljava/util/List;)
Since MetaTableAccessor is IA Private, and HBCK2 is aimed to evolve independently of hbase project, ideally we should not rely in IA Private interfaces.
There's already an existing HBCKMetaTableAccessor on hbck2, with some MetaTableAccessor original methods used in hbck2 re-implemented. This PR removes all dependencies to MetaTableAccessor currently existing in hbck2, re-implementing some of the required methods on HBCKMetaTableAccessor.
Thanks for finding and reporting it, daisuke.kobayashi!
Attachments
Issue Links
- links to