consensus-essence
consensus-essence copied to clipboard
distributed consensus protocol's bugs, flaws, deceptive traps, improvements
Distributed Consensus Essence
It's challenging to design, to implement or to detect bugs in the realm of distributed consensus, and even a small problem could result in data loss. This repo is a list of distributed consensus protocol's bugs, flaws, deceptive traps, and improvements.
| Type | description |
|---|---|
| Bug | a bug that will break the consensus. |
| Trap | not a bug, but somehow misleading. People may believe it is a bug. |
| Suboptimal | a solution that works, but not in the best way. |
| Optimize | Improvement to a current design. |
| Variant | Another way to implement a consensus. |
Ideas
- Paxos: (Trap): The Bug in Paxos Made Simple | π δΈζη
- Paxos: (Optimize): Asymmetric Acceptors | π δΈζη
- Paxos/Raft: (Generalize): Round Number Reversion | π δΈζη
- Paxos: (Generalize): Partial Order Round Number = Paxos + 2PC | π δΈζη
- Raft: (Suboptimal): Leader Step Down | π δΈζη
- Raft: (Optimize): Commit log via RequestVote RPC | π δΈζη
- Raft: (Optimize): ReadIndex: Less Wait | π δΈζη
Contribution
Thank you for sharing a distributed consensus bug/issue. Even a small problem could result in data loss.
-
Update or add a snippet in the src/list.
-
Update the link entries in README.md.