Dice Question Streamline Icon: https://streamlinehq.com

Whether to update the last-accepted ballot variable during Tentative Pre-accept in Egalitarian Paxos recovery

Determine whether a process running the original Egalitarian Paxos recovery should update the second ballot variable that records the last ballot in which it accepted a value (the Paxos-style “last accepted ballot,” often denoted abal) when it tentatively pre-accepts a command during the Tentative Pre-accept phase.

Information Square Streamline Icon: https://streamlinehq.com

Background

The original Egalitarian Paxos uses a Tentative Pre-accept phase during recovery, and its use of ballot variables differs from Paxos: it employs only a single ballot variable, which leads to safety concerns. Introducing a second ballot variable analogous to Paxos’s last-accepted ballot (abal) raises a design question.

Specifically, when a replica tentatively pre-accepts a command during recovery, it is not specified whether the last-accepted ballot should be updated. The authors avoid this choice in their EPaxos variant by eliminating the need for tentative commitments during validation, but the ambiguity remains for the original protocol’s recovery design.

References

In particular, when a process tentatively pre-accepts a command, it is unclear if the second variable (corresponding to our abal) should be updated or not.

Making Democracy Work: Fixing and Simplifying Egalitarian Paxos (Extended Version) (2511.02743 - Ryabinin et al., 4 Nov 2025) in Section 7 (Comparison with the Original Egalitarian Paxos), Safety