Skip to content

HDDS-15962. Remove leader readiness check on the bootstrap flow.#10862

Draft
sadanand48 wants to merge 1 commit into
apache:masterfrom
sadanand48:HDDS-15962
Draft

HDDS-15962. Remove leader readiness check on the bootstrap flow.#10862
sadanand48 wants to merge 1 commit into
apache:masterfrom
sadanand48:HDDS-15962

Conversation

@sadanand48

Copy link
Copy Markdown
Contributor

What changes were proposed in this pull request?

Current logic rejects checkpoint requests with 503 unless isLeaderReady() is true.
In a degraded cluster (e.g., one OM down, one follower far behind), this creates a loop:

Lagging follower needs checkpoint to catch up.
Follower requests /v2/dbCheckpoint from leader.
Leader is LEADER_AND_NOT_READY and returns 503 due to isLeaderReady() check.
Follower cannot catch up, so leader readiness does not progress.
System remains stuck until another OM is brought back.
Checkpoint creation already has consistency barriers:

awaitDoubleBufferFlush()
bootstrap write lock (BOOTSTRAP_LOCK)
So requiring LEADER_AND_READY here is stricter than necessary and can block recovery. instead only reject if NOT_LEADER

What is the link to the Apache JIRA

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

How was this patch tested?

Unit tests

@sadanand48
sadanand48 requested a review from jojochuang July 24, 2026 17:46
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.

1 participant