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

vjasani 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 edeed9b34a6 HBASE-29319 Apply fail-fast retry limit for 
ConnectException (#6996)
edeed9b34a6 is described below

commit edeed9b34a6a14095895a4b7405335f250f8fd63
Author: Viraj Jasani <[email protected]>
AuthorDate: Fri May 30 23:40:18 2025 -0700

    HBASE-29319 Apply fail-fast retry limit for ConnectException (#6996)
    
    Signed-off-by: Andrew Purtell <[email protected]>
---
 .../hadoop/hbase/master/procedure/RSProcedureDispatcher.java       | 7 ++++++-
 .../test/java/org/apache/hadoop/hbase/util/RSProcDispatcher.java   | 5 ++++-
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RSProcedureDispatcher.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RSProcedureDispatcher.java
index 35d2afcecba..6a6baab97ad 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RSProcedureDispatcher.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RSProcedureDispatcher.java
@@ -19,6 +19,7 @@ package org.apache.hadoop.hbase.master.procedure;
 
 import java.io.IOException;
 import java.lang.Thread.UncaughtExceptionHandler;
+import java.net.ConnectException;
 import java.net.UnknownHostException;
 import java.util.List;
 import java.util.Set;
@@ -412,7 +413,10 @@ public class RSProcedureDispatcher extends 
RemoteProcedureDispatcher<MasterProce
      * @return True if the error or its cause indicates a network connection 
issue.
      */
     private boolean isNetworkError(IOException e) {
-      if (e instanceof ConnectionClosedException || e instanceof 
UnknownHostException) {
+      if (
+        e instanceof ConnectionClosedException || e instanceof 
UnknownHostException
+          || e instanceof ConnectException
+      ) {
         return true;
       }
       Throwable cause = e;
@@ -422,6 +426,7 @@ public class RSProcedureDispatcher extends 
RemoteProcedureDispatcher<MasterProce
           if (
             unwrappedCause instanceof ConnectionClosedException
               || unwrappedCause instanceof UnknownHostException
+              || unwrappedCause instanceof ConnectException
           ) {
             return true;
           }
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/RSProcDispatcher.java 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/RSProcDispatcher.java
index 2eaf2beabda..2cef8630eae 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/RSProcDispatcher.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/RSProcDispatcher.java
@@ -18,6 +18,7 @@
 package org.apache.hadoop.hbase.util;
 
 import java.io.IOException;
+import java.net.ConnectException;
 import java.net.UnknownHostException;
 import java.util.Arrays;
 import java.util.List;
@@ -45,7 +46,9 @@ public class RSProcDispatcher extends RSProcedureDispatcher {
 
   private static final List<IOException> ERRORS =
     Arrays.asList(new ConnectionClosedException("test connection closed 
error..."),
-      new UnknownHostException("test unknown host error..."));
+      new UnknownHostException("test unknown host error..."),
+      new ConnectException("test connect error..."));
+
   private static final AtomicInteger ERROR_IDX = new AtomicInteger();
 
   public RSProcDispatcher(MasterServices master) {

Reply via email to