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:47:00 UTC

[hbase] branch branch-1 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
in repository https://gitbox.apache.org/repos/asf/hbase.git


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

commit 4e89d98d4adf24059a193efd3fb7f1143a936c90
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 4c571e4..5d8323e 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
@@ -1256,7 +1256,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);
       }
@@ -1393,8 +1393,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.