Skip to content

HDDS-14425. Implement Ratis follower read exception handling#9811

Merged
ivandika3 merged 7 commits intoapache:masterfrom
ivandika3:HDDS-14425
Mar 2, 2026
Merged

HDDS-14425. Implement Ratis follower read exception handling#9811
ivandika3 merged 7 commits intoapache:masterfrom
ivandika3:HDDS-14425

Conversation

@ivandika3
Copy link
Contributor

What changes were proposed in this pull request?

It might be possible for Ratis to throw ReadIndexException if the follower is not able to get the ReadIndex one way or another (e.g. majority OMs are down). Additionally ReadException will be thrown for any pending requests. However, currently this is not handled by both the OM server and client.

OM need to throw these exceptions to prevent NPE similar to HDDS-10918. Client can parse these exceptions and log it.

What is the link to the Apache JIRA

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

How was this patch tested?

Unit test.

Clean CI: https://github.com/ivandika3/ozone/actions/runs/22333622434

@ivandika3 ivandika3 self-assigned this Feb 24, 2026
@ivandika3 ivandika3 requested a review from szetszwo February 24, 2026 04:07
Copy link
Contributor

@szetszwo szetszwo left a comment

Choose a reason for hiding this comment

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

@ivandika3 , thanks for working on this!

  • Could we just use the ReadException and ReadIndexException from Ratis instead of adding OmXxxException?
  • Please resolve the merge conflict.

# Conflicts:
#	hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/ha/HadoopRpcOMFollowerReadFailoverProxyProvider.java
Copy link
Contributor

@szetszwo szetszwo left a comment

Choose a reason for hiding this comment

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

+1 the change looks good.

@ivandika3 ivandika3 merged commit b829d26 into apache:master Mar 2, 2026
86 of 87 checks passed
@ivandika3
Copy link
Contributor Author

@szetszwo Thanks for the review.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants