2pc-log-before-decision

Status: IN

The coordinator appends `"committing"` or `"aborting"` to its log before broadcasting the decision to participants, enabling crash recovery via `recover()` to re-send decisions that were never delivered

Source: entries/2026/05/29/two-phase-commit-two_phase_commit.md

Example

self.log.append({"tx_id": tx_id, "state": "committing"})
for pid in participant_operations:
    p.commit(tx_id)

JSON