The question of Phase II commit in distributed transaction XA

https://zh.wikipedia.org/wiki.

fail
if the response message returned by any participant node in the first phase is "terminated", or if the coordinator node is unable to get the response messages of all participant nodes before the query timeout of the first phase:

    The
  1. coordinator node issues a "rollback operation" request to all participant nodes.
  2. the participant node performs a rollback using the previously written Undo information and releases the resources consumed during the entire transaction.
  3. the participant node sends a rollback complete message to the coordinator node.
  4. The
  5. coordinator node cancels the transaction after receiving a rollback complete message from all participant nodes.

the second phase is sometimes called the completion phase, because the coordinator must end the current transaction at this stage, regardless of the outcome.

< hr >

if at the time of submission, some nodes have been submitted and others have failed, and the "coordinator" will send a "rollback operation" request to all nodes, is it possible for those who have already commit to perform a "rollback operation" operation? Transactions commit and rollback in the database are two mutually exclusive operations.

Aug.02,2021
Menu