You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Marcin Januszkiewicz (JIRA)" <ji...@apache.org> on 2017/01/27 14:34:24 UTC

[jira] [Created] (HBASE-17556) The client will not invalidate stale region caches

Marcin Januszkiewicz created HBASE-17556:
--------------------------------------------

             Summary: The client will not invalidate stale region caches
                 Key: HBASE-17556
                 URL: https://issues.apache.org/jira/browse/HBASE-17556
             Project: HBase
          Issue Type: Bug
          Components: Client
    Affects Versions: 0.98.24, 1.0.0, 2.0.0
            Reporter: Marcin Januszkiewicz
            Priority: Critical


We noticed in our application, that sometimes when we interact with a table an operation will fail with an exception, an all operations that happen on the same region will also fail until the application is restarted.

It seems that when a merge or split happens on a region that is already in the clients cache, and the client is configured to retry operations, then there is no way for the client to detect this. In RpcRetryingCaller#callWithRetries if a call fails with RegionNotServingException then the cache will be cleared only if the retry parameter is equal to 1. This means the call will fail but the following calls will succeed.

RpcRetryingCaller#callWithoutRetries contains the comment "It would be nice to clear the location cache here". Additionally, the stale cache will cause this call to fail, even though the data is available.





--
This message was sent by Atlassian JIRA
(v6.3.4#6332)