[
https://issues.apache.org/jira/browse/HBASE-23791?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Wellington Chevreuil resolved HBASE-23791.
------------------------------------------
Resolution: Fixed
> [operator tools] Remove reference to I.A. Private interface MetaTableAccessor
> -----------------------------------------------------------------------------
>
> Key: HBASE-23791
> URL: https://issues.apache.org/jira/browse/HBASE-23791
> Project: HBase
> Issue Type: Improvement
> Components: hbase-operator-tools
> Reporter: Wellington Chevreuil
> Assignee: Wellington Chevreuil
> Priority: Major
> Fix For: hbase-operator-tools-1.1.0
>
>
> 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:
> {noformat}
> $ 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;)
>
> {noformat}
> 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]!
--
This message was sent by Atlassian Jira
(v8.3.4#803005)