Bryan Beaudreault created HBASE-28131:
-----------------------------------------

             Summary: CatalogReplicaMode.LOAD_BALANCE introduces a client 
dependency on the active master
                 Key: HBASE-28131
                 URL: https://issues.apache.org/jira/browse/HBASE-28131
             Project: HBase
          Issue Type: Bug
    Affects Versions: 2.5.5, 2.4.17
            Reporter: Bryan Beaudreault


This only a 2.x releases, and only usages of MetaTableAccessor. It's hard to 
trace all of the overloads of the scanMeta method in there, but it is at the 
very least exposed to clients via RegionLocator.getAllRegionLocations().

The code in AsyncTable and normal ConnectionImplementation meta scans (i.e. 
looking up a single location) both use a CatalogReplicaLoadBalanceSelector 
which fetches the meta locations from the ConnectionRegistry. Those do not have 
a dependency on master unless you define the RpcConnectionRegistry to hit 
master.

The way MetaTableAccessor works is to call getMetaTable(conn) to get an HTable, 
then table.getDescriptor() and parses the getRegionReplication() method. The 
call to getDescriptor() hits the active HMaster.

We should fix MetaTableAccessor to use the same connection registry based 
lookup of meta replicas.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to