This is an automated email from the ASF dual-hosted git repository.
vjasani pushed a commit to branch branch-2.5
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-2.5 by this push:
new 95c8d996ced HBASE-29319 Apply fail-fast retry limit for
ConnectException (#6996)
95c8d996ced is described below
commit 95c8d996cedaf5936f9a3ab6886817b4f164761d
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 65bb3d5dbdd..90c47bda7ef 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;
@@ -417,7 +418,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;
@@ -427,6 +431,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 4180238ca6c..f36c97f3e95 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;
@@ -46,7 +47,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) {