Consider this scenario.
- Coordinator sends prepare messages to 2 participants, and crashes
- Participants lock resources successfully, and then wait for the coordinator to recover
- Coordinator recovers, but did not receive messages from participants about prepare_success messages
Is manual intervention required to unlock the locked resources? Or do the participants poll the coordinator to find the status of the transaction?
At the outset, this sounds similar to the case when a participant does not receive a commit message, but the main difference is that the coordinator redrives the messages in that scenario. In the scenario listed above, the coordinator does not even know that it has to redrive a global transaction because no record of it was made in it's log.