Repository: hbase Updated Branches: refs/heads/branch-1 a06994bbc -> a317a0f89
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/a317a0f8 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/a317a0f8 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/a317a0f8 Branch: refs/heads/branch-1 Commit: a317a0f89c3d3ea10814b176ca230d719a984d9b Parents: a06994b Author: Mikhail Antonov <[email protected]> Authored: Thu Mar 17 01:06:42 2016 -0700 Committer: Mikhail Antonov <[email protected]> Committed: Thu Mar 17 01:09:10 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/a317a0f8/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;
