Hacker News new | past | comments | ask | show | jobs | submit login
Raft Refloated: Do We Have Consensus? [pdf] (cam.ac.uk)
62 points by mrry on Feb 7, 2015 | hide | past | favorite | 4 comments

The proposed optimizations are pretty interesting, but I think my favorite such optimization has been proposed by Ayende Rahien. As with the optimizations outlined in this paper, his is related to leader election.

One of the issues with leader election in Raft is the potential for split votes. Raft tries I guard against this by randomizing election timeouts in order to discourage two candidates from requesting votes at the same time. What Ayende suggests, though, is to add a pre-vote stage wherein followers poll other nodes to determine whether they can even win an election prior to actually transitioning to candidates and starting a new election. This ensures that only up-to-date followers ever become candidates and thus prevents nodes that will never win an election from ever transitioning to candidates in the first place.

I wonder if the consul or etcd teams will consider adding this into their respective raft implementations (assuming it does actually improve things as the paper alludes to).

Has anyone seen their JS visualizer or tool source?

We're still cleaning that up for a proper release. It's based on js_of_ocaml and d3.js, but we're now porting it to use Irmin as its persistence model so that we can rewind the simulator to arbitrary points in the traces.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact