Notes
Background
- Already existing scheme used db query for replication
- Replication scheme was in such a way that any follower could query any other follower
Due to this when they tried to implement RAFT there was a mismatch between the architecture and algorithm. So they decided to change the algorithm to implement in existing architecture.
Problem
- Querying will not give you the term number meaning you don’t know if you’re pulling from the leader or not and if the log entries are correct or not.
- Any other follower can pull from this stale follower.
Solution
- Use updateposition RPC to get the term.
Implementation
- Reading can be done by batching read requests with other requests.
After lecture
- Look up TiDB
- What is mmap?
- Why fsync twice?
- TLA+ verification
- FLP Theorem (https://ilyasergey.net/CS6213/week-03-bft.html)