Skip to content

Releases: lbinria/Raft

Stable and correct version of Raft consensus

07 Sep 12:54
Compare
Choose a tag to compare

Stable and correct version of Raft consensus

21 Jul 14:55
Compare
Choose a tag to compare

Stable and incorrect version of Raft consensus

07 Jul 09:11
Compare
Choose a tag to compare

Reintroduce a bug on vote phase.

It was a previously encountered bug:

The inequality was set to non-strict which introduce a bug related to the quorum (the majority required for a node to be a leader).

The spec majority is defined like following:
Quorum == {i \in SUBSET(Server) : Cardinality(i) * 2 > Cardinality(Server)}

Which mean that number of nodes in quorum * 2 must be greater than number of nodes in cluster.

So if we consider a node to have majority when n >= quorum with quorum = nbNodes / 2 (with int division) instead of n > quorum. It will lead to an error, for example:

  • 2 nodes : n >= 1, instead of n >= 2
  • 3 nodes : n >= 1, instead of n >= 2
  • 4 nodes : n >= 2, instead of n >= 3
    ...

With n the number of nodes agree on a vote.

Stable and incorrect version of Raft consensus

06 Jul 08:34
Compare
Choose a tag to compare

Reintroduce a bug on vote phase.

It was a previously encountered bug:

The inequality was set to non-strict which introduce a bug related to the quorum (the majority required for a node to be a leader).

The spec majority is defined like following:
Quorum == {i \in SUBSET(Server) : Cardinality(i) * 2 > Cardinality(Server)}

Which mean that number of nodes in quorum * 2 must be greater than number of nodes in cluster.

So if we consider a node to have majority when n >= quorum with quorum = nbNodes / 2 (with int division) instead of n > quorum. It will lead to an error, for example:

  • 2 nodes : n >= 1, instead of n >= 2
  • 3 nodes : n >= 1, instead of n >= 2
  • 4 nodes : n >= 2, instead of n >= 3
    ...

With n the number of nodes agree on a vote.

Stable and correct version of Raft consensus based on spec. refinement

06 Jul 08:10
Compare
Choose a tag to compare

Complete, stable and correct version of raft consensus based on trace spec which refine the raft spec.

v0.1

05 Jun 13:13
Compare
Choose a tag to compare
v0.1 Pre-release
Pre-release

Beta release of draft implementation

  • Only contains implementation of the vote phase.