3232import  org .apache .hadoop .hbase .CallDroppedException ;
3333import  org .apache .hadoop .hbase .CallQueueTooBigException ;
3434import  org .apache .hadoop .hbase .DoNotRetryIOException ;
35- import  org .apache .hadoop .hbase .MultiActionResultTooLarge ;
3635import  org .apache .hadoop .hbase .NotServingRegionException ;
3736import  org .apache .hadoop .hbase .RegionTooBusyException ;
3837import  org .apache .hadoop .hbase .RetryImmediatelyException ;
@@ -59,18 +58,23 @@ public static boolean isMetaClearingException(Throwable cur) {
5958    if  (cur  == null ) {
6059      return  true ;
6160    }
62-     return  !isSpecialException (cur ) || (cur  instanceof  RegionMovedException )
63-         || cur  instanceof  NotServingRegionException ;
61+     return  !regionDefinitelyOnTheRegionServerException (cur );
6462  }
6563
66-   public  static  boolean  isSpecialException (Throwable  cur ) {
67-     return  (cur  instanceof  RegionMovedException  || cur  instanceof  RegionOpeningException 
68-         || cur  instanceof  RegionTooBusyException  || cur  instanceof  RpcThrottlingException 
69-         || cur  instanceof  MultiActionResultTooLarge  || cur  instanceof  RetryImmediatelyException 
70-         || cur  instanceof  CallQueueTooBigException  || cur  instanceof  CallDroppedException 
71-         || cur  instanceof  NotServingRegionException  || cur  instanceof  RequestTooBigException );
64+   private  static  boolean  regionDefinitelyOnTheRegionServerException (Throwable  t ) {
65+     return  (t  instanceof  RegionTooBusyException  || t  instanceof  RpcThrottlingException 
66+         || t  instanceof  RetryImmediatelyException  || t  instanceof  CallQueueTooBigException 
67+         || t  instanceof  CallDroppedException  || t  instanceof  NotServingRegionException 
68+         || t  instanceof  RequestTooBigException );
7269  }
7370
71+   /** 
72+    * This function is the alias of regionDefinitelyOnTheRegionServerException, 
73+    * whose name is confusing in the function findException(). 
74+    */ 
75+   private  static  boolean  matchExceptionWeCare (Throwable  t ) {
76+     return  regionDefinitelyOnTheRegionServerException (t );
77+   }
7478
7579  /** 
7680   * Look for an exception we know in the remote exception: 
@@ -87,15 +91,15 @@ public static Throwable findException(Object exception) {
8791    }
8892    Throwable  cur  = (Throwable ) exception ;
8993    while  (cur  != null ) {
90-       if  (isSpecialException (cur )) {
94+       if  (matchExceptionWeCare (cur )) {
9195        return  cur ;
9296      }
9397      if  (cur  instanceof  RemoteException ) {
9498        RemoteException  re  = (RemoteException ) cur ;
9599        cur  = re .unwrapRemoteException ();
96100
97101        // unwrapRemoteException can return the exception given as a parameter when it cannot 
98-         //   unwrap it. In this case, there is no need to look further 
102+         // unwrap it. In this case, there is no need to look further 
99103        // noinspection ObjectEquality 
100104        if  (cur  == re ) {
101105          return  cur ;
0 commit comments