lablup / lablup/raftify

Implement snapshot creation policy

Open
#48 0 comments 0 reactions 0 assignees View on GitHub
feature good first issue improvement snapshot
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.