Implement snapshot creation policy
- Dominant language
- Rust
- Stars
- 44
- Forks
- 14
- PR merge metrics
- No merged PRs in 30d
Description
The current implementation of creating a snapshot is only executed after `handle_committed_normal_entry`.
I think there could be better ways.
For example, we can implement the following policies:
Create a snapshot when the size of the FSM exceeds a specific threshold.
Generate a snapshot when the number of log entries surpasses a certain count.
Note: `snapshot` contains several metadata configuring the cluster, so wrong implementation of this would break the consistency of the raft loop.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by tracing snapshot creation from handle_committed_normal_entry and reviewing the snapshot metadata used by the raft loop. Compare the proposed FSM-size and log-entry-count triggers, then clarify which policy and thresholds are required. Done means snapshot timing is defined without breaking cluster metadata or raft-loop consistency.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100