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) {