How does three-phase commit avoid blocking?
问题 I am trying to understand how three-phase commit avoids blocking Consider the following two failure scenarios: Scenario 1: In phase 2 the coordinator sends preCommit messages to all cohorts and has gotten an ack from all except cohort A. Network problems prevent cohort A from receiving the coordinator's preCommit message. Cohort A times out waiting for the preCommit message and chooses to abort. Then both the coordinator and cohort A crash. Scenario 2: The protocol reaches phase 3. The