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

Currently local message and remote message are mixed in protocol. It's not clear and can lead to unexpected behavior bug if use inappropriately. As a bonus, separate them can also...

Enhancement
Request for Comment

Apparently, if a peer's votes get rejected by quorum for log gap, then the peer can't become leader anymore by simply retry. So we can disable campaign for these peers...

Optimization
Request for Comment

For now a candidate will always reset election_elapsed when receiving a message with higher term. However if the vote is about to be rejected, reset elapsed will make campaign postponed...

Enhancement
Optimization
Request for Comment

If the storage does not contain any data, raft sends the initial node list as `ConfChange`s and uses the peer context as context for the `ConfChange`. That is not documented...

Enhancement
Help Wanted

https://github.com/tikv/raft-rs/blob/f7f7d0121132ef6406b59fc774778285cd1477d6/src/raft.rs#L565-L566 `try_batch` doesn't check the entries size after batched which might cause the overflow. Do we need to worry about this? @hicqu @BusyJay

Part of https://github.com/tikv/raft-rs/issues/109 This PR tries to add a benchmark for the real raft node cluster. The communication between nodes is supported by `mspc::channel` which brings some overhead. @Hoverbear @hicqu...

Work In Progress
Tooling/Testing

**Is your feature request related to a problem? Please describe.** This is related to #314 - the raft-rs callbacks do not include logic to truncate logs that the Leader knows...

**Describe the bug** Re-joining a leader to a cluster crashes with the attempt to re-add already known node to the progress state. ``` Oct 31 15:49:52.769 ERRO e: The node...

It seems that `benches` are unable to use `harness` based on the current project structure. How about moving the entire `benches` into `harness`? @nrc @Hoverbear Now: ``` benches harness src...

From Spanner https://cloud.google.com/spanner/docs/replication ``` Witness Witness replicas don’t support reads but do participate in voting to commit writes. These replicas make it easier to achieve quorums for writes without the...

Feature
Request for Comment