Tags: databendlabs/openraft
Tags
change: Require AppData to impl Debug and Display This enables better debugging and logging by displaying actual application data in entry payloads, rather than just showing "normal" for all entries. The change updates Debug/Display implementations to include app data content and adds corresponding tests. Upgrade tip: Implement `Debug` and `Display` for `RaftTypeConfig::D: AppData`
fix: reset progress when heartbeat response indicates conflict With `allow_log_reversion` enabled: Before this fix, `RaftCore` ignored `conflict` messages from `Heartbeat` RPCs, preventing leaders from discovering follower state changes. When a follower's state reverted and responded with a conflict message, the leader wouldn't retransmit necessary data to the follower. This commit ensures `conflict` responses are always processed properly and progress is reset to trigger data retransmission to the follower. In this commit, a `Heartbeat` message uses `committed` log id as the `prev_log_id` to detect Follower state reversion.
feat: Add impl `IntoNodes<NID, EmptyNode>` for `BTreeSet<NID>` EmptyNode can be created directly thus a BTreeSet can be used to build a nodes map
Test: split storage test get_initial_state_membership_from_log_and_sm… …() into 3 sub tests
PreviousNext