-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Cluster Raft: Persist state and WAL in nodes.conf #3887
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
zuiderkwast
merged 20 commits into
valkey-io:cluster-v2
from
zuiderkwast:raft-persist-log
Jun 10, 2026
Merged
Changes from all commits
Commits
Show all changes
20 commits
Select commit
Hold shift + click to select a range
523722e
Raft: persist state and WAL in nodes.conf
zuiderkwast bc35258
Update design doc: Raft log and state persistence in nodes.conf
zuiderkwast 17cb404
Raft: restore cluster size on restart
zuiderkwast 5dbe473
Fix node appearing in multiple shards when shard-id changes
zuiderkwast b5e27e4
Exclude shard-id from NODE_INFO entries
zuiderkwast 30afb73
Implement log completeness check in RequestVote
zuiderkwast cd28fb9
Evaluate slot coverage on startup
zuiderkwast 0e79568
Raft: inline raftLogMarkDirty into raftLogAppend
zuiderkwast e37c8fd
Raft: trigger full config rewrite after 100 appended entries
zuiderkwast 415c420
Design doc: add checksum future work item for log persistence
zuiderkwast d52ce26
Raft: defer AE_ACK until after persistence
zuiderkwast c52c2b6
Run Raft cluster's beforeSleep during RDB loading
zuiderkwast 3c3a99c
Initialize my_last_committed_info on self NODE_JOIN
zuiderkwast 180f698
Raft: defer vote response until votedFor is persisted
zuiderkwast 9332e3d
Raft: defer RequestVote until term bump and self-vote are persisted
zuiderkwast cfb10b5
Raft: trigger full rewrite on log truncation
zuiderkwast 90b6a9d
Raft: defer singleton leader commit until after persistence
zuiderkwast c64fbc4
Raft: define RAFT_LOG_REWRITE_THRESHOLD for periodic rewrite
zuiderkwast b1b8b08
Raft: full config rewrite on shutdown for faster restart
zuiderkwast e702a5e
Remove incomplete-line check from nodes.conf loading
zuiderkwast File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I assume this will include the shard level epoch as well ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, we'll need to persist it in some way, either in the node lines or in the vars line.
I have an idea. I posted it on your PR. #3899 (comment)