You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ap...@apache.org on 2019/02/05 22:03:14 UTC

[hbase] branch branch-1.3 updated: Revert "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.

apurtell 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 f2ea066  Revert "HBASE-21775 The BufferedMutator doesn't ever refresh region location cache Fix server location metadata refresh in multi-actions"
f2ea066 is described below

commit f2ea066141bf5c0079e7b101549356e5611b1ed7
Author: Andrew Purtell <ap...@apache.org>
AuthorDate: Tue Feb 5 14:03:06 2019 -0800

    Revert "HBASE-21775 The BufferedMutator doesn't ever refresh region location cache Fix server location metadata refresh in multi-actions"
    
    This reverts commit 725547cec3a83c47bfb422b449d9c94207d1304c.
---
 .../src/main/java/org/apache/hadoop/hbase/client/AsyncProcess.java   | 5 +++--
 1 file changed, 3 insertions(+), 2 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 ed202ce..760ce0f 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 (ClientExceptionsUtil.isMetaClearingException(t)) {
+      if (tableName == null && ClientExceptionsUtil.isMetaClearingException(t)) {
         // tableName is null when we made a cross-table RPC call.
         connection.clearCaches(server);
       }
@@ -1345,7 +1345,8 @@ class AsyncProcess {
       for (Map.Entry<byte[], List<Action<Row>>> regionEntry : multiAction.actions.entrySet()) {
         byte[] regionName = regionEntry.getKey();
         Throwable regionException = responses.getExceptions().get(regionName);
-        if (ClientExceptionsUtil.isMetaClearingException(regionException)) {
+        if (tableName == null && regionException != null &&
+              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.