Skip to content

Commit

Permalink
Add roadmap
Browse files Browse the repository at this point in the history
  • Loading branch information
willemt committed Jan 9, 2018
1 parent 3ee2c46 commit d620a9f
Showing 1 changed file with 8 additions and 1 deletion.
9 changes: 8 additions & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -443,12 +443,19 @@ The process works like this:
5. When the ``send_snapshot`` callback fires, the user must propogate the snapshot to the other node.
6. Once the peer has the snapshot, they call ``raft_begin_load_snapshot``.
7. Peer calls ``raft_add_node`` to add nodes as per the snapshot's membership info.
8. Peer call s``raft_node_set_voting`` to nodes as per the snapshot's membership info.
8. Peer calls ``raft_node_set_voting`` to nodes as per the snapshot's membership info.
9. Peer calls ``raft_node_set_active`` to nodes as per the snapshot's membership info.
10. Finally, peer calls ``raft_node_set_active`` to nodes as per the snapshot's membership info.

When a node receives a snapshot it could reuse that snapshot itself for other nodes.

Roadmap
=======

* Batch friendly interfaces - we can speed up Raft by adding new APIs that support batching many log entries
* Implementing linearizable semantics (Ongaro, 2014)
* Processing read-only queries more efficiently (Ongaro, 2014)

References
==========
Ongaro, D. (2014). Consensus: bridging theory and practice. Retrieved from https://web.stanford.edu/~ouster/cgi-bin/papers/OngaroPhD.pdf

0 comments on commit d620a9f

Please sign in to comment.