Skip to content

chore(replication): guard convergence across leader failover - #511

Merged
yordis merged 1 commit into
masterfrom
yordis/chore-grpc-replication-network-parity
Sep 24, 2026
Merged

yordis merged 1 commit into
masterfrom
yordis/chore-grpc-replication-network-parity

Conversation

@yordis

@yordis yordis commented Sep 24, 2026 •

Copy link
Copy Markdown
Member
  • Replication parity needs a live convergence signal across leader loss and reconnection before the TCP path can be retired with confidence.

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
@yordis
yordis requested a review from a team as a code owner September 24, 2026 05:21
@cursor

cursor Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

PR Summary

Low Risk
Changes are limited to integration test coverage and timeouts; no production replication or forwarding logic is modified.

Overview
Extends the long-running gRPC forwarding failover integration test so it verifies replication convergence, not just successful appends through a surviving follower.

After each write phase, the test now reads the stream on every cluster node and asserts matching revision sequences ([0,1], then [0,1,2]). It also restarts the former leader after failover, waits for a full three-node topology again, and re-checks parity across all nodes. New AssertRevisions / ReadRevisions helpers poll gRPC reads with retries on transient Unavailable/DeadlineExceeded errors.

Scenario and test timeouts are increased (7–8 minutes) to cover the longer leader-loss plus reconnection path. The test method is renamed to replicates_writes_across_leader_loss_and_reconnection.

Reviewed by Cursor Bugbot for commit 57f527f. Bugbot is set up for automated code reviews on this repo. Configure here.

@coderabbitai

coderabbitai Bot commented Sep 24, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 9 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: 9569fde6-191b-4638-91a1-a021a43e1a00

📥 Commits

Reviewing files that changed from the base of the PR and between 56eb784 and 57f527f.

📒 Files selected for processing (1)
  • src/EventStore.Core.Tests/Integration/grpc_request_forwarding_survives_leader_change.cs

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@yordis
yordis merged commit 6406e6e into master Sep 24, 2026
37 checks passed
@yordis
yordis deleted the yordis/chore-grpc-replication-network-parity branch September 24, 2026 05:59
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