You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by zh...@apache.org on 2019/08/13 08:54:21 UTC

[hbase] branch master updated: Revert "HBASE-22699 refactor isMetaClearingException (#436)"

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

zhangduo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/master by this push:
     new 07ab9ed  Revert "HBASE-22699 refactor isMetaClearingException (#436)"
07ab9ed is described below

commit 07ab9ed2371cafd9655b65a09c66db4bb93aa35b
Author: Duo Zhang <zh...@apache.org>
AuthorDate: Tue Aug 13 16:47:40 2019 +0800

    Revert "HBASE-22699 refactor isMetaClearingException (#436)"
    
    This reverts commit 009851d680e1bb58791715d5d3ad0387b5efbc72.
---
 .../hbase/exceptions/ClientExceptionsUtil.java     | 26 +++++++++-------------
 1 file changed, 11 insertions(+), 15 deletions(-)

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 1975297..6b1e251 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
@@ -32,6 +32,7 @@ import java.util.concurrent.TimeoutException;
 import org.apache.hadoop.hbase.CallDroppedException;
 import org.apache.hadoop.hbase.CallQueueTooBigException;
 import org.apache.hadoop.hbase.DoNotRetryIOException;
+import org.apache.hadoop.hbase.MultiActionResultTooLarge;
 import org.apache.hadoop.hbase.NotServingRegionException;
 import org.apache.hadoop.hbase.RegionTooBusyException;
 import org.apache.hadoop.hbase.RetryImmediatelyException;
@@ -58,23 +59,18 @@ public final class ClientExceptionsUtil {
     if (cur == null) {
       return true;
     }
-    return !regionDefinitelyOnTheRegionServerException(cur);
+    return !isSpecialException(cur) || (cur instanceof RegionMovedException)
+        || cur instanceof NotServingRegionException;
   }
 
-  private static boolean regionDefinitelyOnTheRegionServerException(Throwable t) {
-    return (t instanceof RegionTooBusyException || t instanceof RpcThrottlingException
-        || t instanceof RetryImmediatelyException || t instanceof CallQueueTooBigException
-        || t instanceof CallDroppedException || t instanceof NotServingRegionException
-        || t instanceof RequestTooBigException);
+  public static boolean isSpecialException(Throwable cur) {
+    return (cur instanceof RegionMovedException || cur instanceof RegionOpeningException
+        || cur instanceof RegionTooBusyException || cur instanceof RpcThrottlingException
+        || cur instanceof MultiActionResultTooLarge || cur instanceof RetryImmediatelyException
+        || cur instanceof CallQueueTooBigException || cur instanceof CallDroppedException
+        || cur instanceof NotServingRegionException || cur instanceof RequestTooBigException);
   }
 
-  /**
-   * This function is the alias of regionDefinitelyOnTheRegionServerException,
-   * whose name is confusing in the function findException().
-   */
-  private static boolean matchExceptionWeCare(Throwable t) {
-    return regionDefinitelyOnTheRegionServerException(t);
-  }
 
   /**
    * Look for an exception we know in the remote exception:
@@ -91,7 +87,7 @@ public final class ClientExceptionsUtil {
     }
     Throwable cur = (Throwable) exception;
     while (cur != null) {
-      if (matchExceptionWeCare(cur)) {
+      if (isSpecialException(cur)) {
         return cur;
       }
       if (cur instanceof RemoteException) {
@@ -99,7 +95,7 @@ public final class ClientExceptionsUtil {
         cur = re.unwrapRemoteException();
 
         // unwrapRemoteException can return the exception given as a parameter when it cannot
-        // unwrap it. In this case, there is no need to look further
+        //  unwrap it. In this case, there is no need to look further
         // noinspection ObjectEquality
         if (cur == re) {
           return cur;