raft-rs
raft-rs copied to clipboard
Raft distributed consensus algorithm implemented in Rust.
Modify raft-rs to support follower replication in TiKV. Main change: * Add new message type: MsgGroupBroadcast, which contains information of forwarding. * Add handler for MsgGroupBroadcast, which appends entries to...
During split prevote, a campaign will fail because all nodes think it will collect enough votes, so after they actually start campaign, no one votes for the other, the campaign...
The origin link(https://docs.rs/raft/latest/raft/examples/single_mem_node/main.rs#L113-L179) is broken. The path of the corresponding code in docs.rs is (https://docs.rs/crate/raft/0.6.0/source/examples/single_mem_node/main.rs), but the line number range cannot be specified. I changed the link to point to...
Problem Description: close tikv/tikv#11371 1. When follower reject the appendlog requests, it will send a MsgUnreachable msg to leader 2. But the MsgUnreachable is a local type which means only...
Seems like if the crate is built with `prost-codec` feature - then prost error should be there https://github.com/tikv/raft-rs/blob/2357cb22760719bcd107a90d1e64ef505bdb1e15/src/errors.rs#L27
For now snapshot is always sent from leader to follower, which is not always sufficient. For example, consider there are 5 nodes in two data center, (1, 2) and (3,...
I think example five-mem-node is very good for beginner interesting in raft-rs. So it is valubable to keep improving it. One option is add command line interaction support for the...
### Or more specifically how does one build transport component? I'm feeling kind of lost after reading docs, readme and examples as none of them (at least to my knowledge)...
### Problem: the function `find_conflict_by_term` in `raft_log.rs` isn't covered by unit test. ### What's changed add unit test for `find_conflict_by_term`