You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2019/01/26 21:48:33 UTC

[hbase] branch branch-1.3 updated: HBASE-21775 The BufferedMutator doesn't ever refresh region location cache Fix server location metadata refresh in multi-actions

This is an automated email from the ASF dual-hosted git repository.

stack pushed a commit to branch branch-1.3
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/branch-1.3 by this push:
     new 725547c  HBASE-21775 The BufferedMutator doesn't ever refresh region location cache Fix server location metadata refresh in multi-actions
725547c is described below

commit 725547cec3a83c47bfb422b449d9c94207d1304c
Author: Tommy Li <to...@microsoft.com>
AuthorDate: Thu Jan 24 15:37:49 2019 -0800

    HBASE-21775 The BufferedMutator doesn't ever refresh region location cache Fix server location metadata refresh in multi-actions
    
    This is a backport from branch-2 but we do not backport the test because
    it uses branch-2-isms.
    
    Signed-off-by: stack <st...@apache.org>
---
 .../src/main/java/org/apache/hadoop/hbase/client/AsyncProcess.java   | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncProcess.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncProcess.java
index 760ce0f..ed202ce 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncProcess.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncProcess.java
@@ -1215,7 +1215,7 @@ class AsyncProcess {
       Retry canRetry = errorsByServer.canRetryMore(numAttempt)
           ? Retry.YES : Retry.NO_RETRIES_EXHAUSTED;
 
-      if (tableName == null && ClientExceptionsUtil.isMetaClearingException(t)) {
+      if (ClientExceptionsUtil.isMetaClearingException(t)) {
         // tableName is null when we made a cross-table RPC call.
         connection.clearCaches(server);
       }
@@ -1345,8 +1345,7 @@ class AsyncProcess {
       for (Map.Entry<byte[], List<Action<Row>>> regionEntry : multiAction.actions.entrySet()) {
         byte[] regionName = regionEntry.getKey();
         Throwable regionException = responses.getExceptions().get(regionName);
-        if (tableName == null && regionException != null &&
-              ClientExceptionsUtil.isMetaClearingException(regionException)) {
+        if (ClientExceptionsUtil.isMetaClearingException(regionException)) {
           // For multi-actions, we don't have a table name, but we want to make sure to clear the
           // cache in case there were location-related exceptions. We don't to clear the cache
           // for every possible exception that comes through, however.