Skip to content

HDDS-17320. SCM client does not recognize RetriableWithNoFailoverException returned by SCM - #11698

Draft
smengcl wants to merge 1 commit into
apache:masterfrom
smengcl:HDDS-17320
Draft

smengcl wants to merge 1 commit into
apache:masterfrom
smengcl:HDDS-17320

Conversation

@smengcl

@smengcl smengcl commented Oct 22, 2026

Copy link
Copy Markdown
Contributor

Generated-by: Claude Code (Opus 5.5)

What changes were proposed in this pull request?

SCM converts errors that should be retried on the same SCM (Ratis LeaderNotReadyException, ReconfigurationInProgressException, ReconfigurationTimeoutException, ResourceUnavailableException, and some certificate failures) to RetriableWithNoFailoverException. The SCM client checks for it in SCMHAUtils.checkRetriableWithNoFailoverException, using the exception unwrapped from RemoteException. But RetriableWithNoFailoverException has no String constructor, so RemoteException.unwrapRemoteException() cannot create it and returns the RemoteException itself. The check never matches, and the client fails over to another SCM instead of retrying the same one.

This change also matches the class name of the RemoteException, so the client retries the same SCM (up to the configured retry count) as intended.

What is the link to the Apache JIRA

https://issues.apache.org/jira/browse/HDDS-17320

How was this patch tested?

Added TestSCMHAUtils#retriesSameScmOnRetriableWithNoFailoverException, which fails without the fix. Existing TestSCMFailoverProxyProvider* tests pass.

🤖 Generated with Claude Code

…ption returned by SCM

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings October 22, 2026 11:07
@smengcl smengcl added the AI-gen label Oct 22, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants