old-raft-rs
old-raft-rs copied to clipboard
[Incomplete] A Raft implementation in Rust
As of today the master will immediately satisfy client queries, which may result in stale reads during failover scenarios. Diego's thesis goes into detail about the cause and possible solutions...
@tschottdorf will likely expand on this as he brought it up on IRC. The log currently does not store `applied_index` and `last_commited_index` and this will likely be necessary if, say,...
Did some light hacking around membership changes today and noticed that `Consensus` grabs the whole `peers` HashMap, including the peer addresses, at startup. One issue with this is that restarting...
Support dynamic membership changes as specified in the dissertation. (See `README.md`) This is a simpler choice. Notes from the dissertation: ## Safety - [ ] When a server recieves a...
It may be useful to have the debug builds of Raft feature a testing harness. This could be used to simulate failure, delays, etc. Up in the air about what...
Implement log compaction as specified in the raft paper. (See `README.md`) Features: - [ ] Servers should take snapshots independently. - [ ] A small amount of metadata is stored....
First, I suggest breaking up the current basic_test into many tests. Second, I suggest having a test that (1) completely kills the process on which a node is running; (2)...
https://twitter.com/ongardie/status/619371884711297025 Just wanted to flag this for the future. Cc @danburkert
We ran into a situation with our c5 raft implementation, in which a single node was able to disrupt the availability of the rest of the cluster. In this situation,...