hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "huaxiang sun (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HBASE-18005) read replica: handle the case that region server hosting both primary replica and meta region is down
Date Fri, 05 May 2017 22:28:04 GMT
huaxiang sun created HBASE-18005:
------------------------------------

             Summary: read replica: handle the case that region server hosting both primary
replica and meta region is down
                 Key: HBASE-18005
                 URL: https://issues.apache.org/jira/browse/HBASE-18005
             Project: HBase
          Issue Type: Bug
            Reporter: huaxiang sun
            Assignee: huaxiang sun


Identified one corner case in testing  that when the region server hosting both primary replica
and the meta region is down, the client tries to reload the primary replica location from
meta table, it is supposed to clean up only the cached location for specific replicaId, but
it clears caches for all replicas. Please see

https://github.com/apache/hbase/blob/master/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionImplementation.java#L813

Since it takes some time for regions to be reassigned (including meta region), the following
may throw exception

https://github.com/apache/hbase/blob/master/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RpcRetryingCallerWithReadReplicas.java#L173

This exception needs to be caught and  it needs to get cached location (in this case, the
primary replica's location is not available). If there are cached locations for other replicas,
it can still go ahead to get stale values from secondary replicas.

With meta replica, it still helps to not clean up the caches for all replicas as the info
from primary meta replica is up-to-date.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message