[ https://issues.apache.org/jira/browse/HBASE-28050?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17760044#comment-17760044 ]
Viraj Jasani commented on HBASE-28050: -------------------------------------- The changes are not complicated but this requires thorough testing {code:java} 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 ac2c971b02..eeeab029a6 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 @@ -22,6 +22,7 @@ import java.lang.Thread.UncaughtExceptionHandler; import java.util.List; import java.util.Set; import java.util.concurrent.TimeUnit; +import javax.security.sasl.SaslException; import org.apache.hadoop.hbase.CallQueueTooBigException; import org.apache.hadoop.hbase.DoNotRetryIOException; import org.apache.hadoop.hbase.ServerName; @@ -287,6 +288,11 @@ public class RSProcedureDispatcher extends RemoteProcedureDispatcher<MasterProce serverName, getMaxWaitTime()); return false; } + if (e instanceof SaslException || e.getCause() instanceof SaslException || ( + e.getCause() != null && e.getCause().getCause() instanceof SaslException)) { + LOG.warn("{} is throwing SaslException; give up", serverName, e); + return false; + } if (e instanceof DoNotRetryIOException) { LOG.warn("{} tells us DoNotRetry due to {}, try={}, give up", serverName, e.toString(), numberOfAttemptsSoFar); {code} > RSProcedureDispatcher to fail-fast for SaslException > ---------------------------------------------------- > > Key: HBASE-28050 > URL: https://issues.apache.org/jira/browse/HBASE-28050 > Project: HBase > Issue Type: Sub-task > Reporter: Viraj Jasani > Priority: Major > > As discussed on the parent Jira, let's mark the remote procedures fail when > we encounter SaslException (GSS initiate failed) as this belongs to the > category of known IOException where we are certain that the request has not > yet reached to the target regionserver yet. > This should help release dispatcher threads for other > ExecuteProceduresRemoteCall executions. -- This message was sent by Atlassian Jira (v8.20.10#820010)