Single-Decree Paxos

Five nodes (0-4) form one in-process cluster with a quorum of 3 of 5. Node 0 proposes "apple" and node 1 proposes "banana" AT THE SAME TIME, for the SAME single decree - a genuine race between proposers. Paxos guarantees at most one value is ever chosen. Every number below is computed live at build time by OnlyCSharp.ComputerNetworks.DistributedSystems.Paxos.SingleDecreePaxos.

The race

Message pump - round by round

RoundMessages routedDecided / totalEvents
1100 / 5-
2100 / 5-
3100 / 5-
4100 / 5-
555 / 5node 0 decided 'banana'; node 1 decided 'banana'; node 2 decided 'banana'; node 3 decided 'banana'; node 4 decided 'banana'

The pump finished after 5 round(s) - every node decided.

Final state of every node

NodeIsDecidedDecidedValue
node 0True"banana"
node 1True"banana"
node 2True"banana"
node 3True"banana"
node 4True"banana"

Verdict

PASS - all 5/5 nodes decided, and every one of them agrees on "banana" despite the simultaneous race. The algorithm - not this program - picked the winner.