You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by an...@apache.org on 2016/03/17 09:08:51 UTC

hbase git commit: HBASE-15390 Unnecessary MetaCache evictions cause elevated number of requests to meta (ADDENDUM)

Repository: hbase
Updated Branches:
  refs/heads/master abc27c606 -> a2c99b133


HBASE-15390 Unnecessary MetaCache evictions cause elevated number of requests to meta (ADDENDUM)


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/a2c99b13
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/a2c99b13
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/a2c99b13

Branch: refs/heads/master
Commit: a2c99b133f8ad2a02e8710a4e0f9a448539cc127
Parents: abc27c6
Author: Mikhail Antonov <an...@apache.org>
Authored: Thu Mar 17 01:06:42 2016 -0700
Committer: Mikhail Antonov <an...@apache.org>
Committed: Thu Mar 17 01:08:36 2016 -0700

----------------------------------------------------------------------
 .../apache/hadoop/hbase/exceptions/ClientExceptionsUtil.java   | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/a2c99b13/hbase-client/src/main/java/org/apache/hadoop/hbase/exceptions/ClientExceptionsUtil.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/exceptions/ClientExceptionsUtil.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/exceptions/ClientExceptionsUtil.java
index f586dce..cf2a16f 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/exceptions/ClientExceptionsUtil.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/exceptions/ClientExceptionsUtil.java
@@ -93,7 +93,11 @@ public final class ClientExceptionsUtil {
         if (cur == re) {
           return cur;
         }
-      } else if (cur.getCause() != null) {
+
+        // When we receive RemoteException which wraps IOException which has a cause as
+        // RemoteException we can get into infinite loop here; so if the cause of the exception
+        // is RemoteException, we shouldn't look further.
+      } else if (cur.getCause() != null && !(cur.getCause() instanceof RemoteException)) {
         cur = cur.getCause();
       } else {
         return cur;