You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Wellington Chevreuil (Jira)" <ji...@apache.org> on 2020/03/04 16:33:00 UTC

[jira] [Resolved] (HBASE-23791) [operator tools] Remove reference to I.A. Private interface MetaTableAccessor

     [ 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)