{"id":"2pc-lock-ownership-guard","text":"`Participant.abort()` only releases locks where `self.locks.get(op[\"key\"]) == tx_id`, preventing one transaction's abort from releasing another transaction's lock","truth_value":"IN","source":"entries/2026/05/29/two-phase-commit-two_phase_commit.md","source_url":"","source_hash":"","justifications":[],"dependents":[],"metadata":{"example":"if self.locks.get(op[\"key\"]) == tx_id:\n    del self.locks[op[\"key\"]]"},"explanation":{"steps":[{"node":"2pc-lock-ownership-guard","truth_value":"IN","reason":"premise"}]}}