2pc-participant-recover-returns-in-doubt-only

Status: IN

`Participant.recover()` identifies transactions stuck in `"prepared"` state but provides no mechanism to resolve them without the coordinator, making it a diagnostic tool rather than a recovery procedure

Source: entries/2026/05/29/topic-three-phase-commit.md

Example

def recover(self):
    tx_states = {}
    for entry in self.log:
        tx_states[entry["tx_id"]] = entry["state"]
    return [tx_id for tx_id, state in tx_states.items() if state == "prepared"]

JSON