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