raft-rs icon indicating copy to clipboard operation
raft-rs copied to clipboard

Raft distributed consensus algorithm implemented in Rust.

Results 64 raft-rs issues
Sort by recently updated
recently updated
newest added

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,...

Feature
Optimization
Request for Comment

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)...

Help Wanted
Good First Issue
Question

### 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`