raft-rs
raft-rs copied to clipboard
Raft distributed consensus algorithm implemented in Rust.
With current implement, a `MsgHeartbeat` do these things: - update( or correct ) a peer's status like commit index, StateRole, ect. - confirm quorum for quorum check or read index...
raft library uses a `Vec` to store all the generated messages. They are sent out only after the readiness is handled unless it's leader. In such case, it's recommended to...
**Is your feature request related to a problem? Please describe.** We know that for every `write` in Raft, we can only apply the `write` to the state machine when the...
## Background In the original raft algorithm, log index is an increasing consequent integer generated by term leader, and is not exported to raft library user. After introducing follower reader,...
It'd be great to have a full, robust benchmarking suite. I recommend using [Criterion](https://github.com/japaric/criterion.rs) for benchmarking since we can use it fairly unobtrusively, even on stable.
In my Cargo.toml, I originally had raft = {version = "0.5.0"} and everything was fine, but then I needed prost because I am using tower-grpc so I changed the dependency...
As mentioned in https://github.com/tikv/tikv/pull/4640#discussion_r281434168, `owning_ref` might be a useful crate for us to try. Investigate the library and look for appropriate places where this library can be used to reduce...
Summary ======= This RFC proposes to use an index to trace leadership transfer, and if follower fails to start election, a response should be sent back to leader. Motivation ========...
Reorganize some of the modules to have their own files and directories. In general: * Files should contain no more than one logical unit. (Eg. the `RawNode` struct and implementations.)...
refer https://github.com/coreos/etcd/pull/9982