1.3.2.1 Unilateral Abort

Until a participant votes on the outcome of the transaction, any participant can decide to unilaterally stop the transaction by issuing an Abort request to its transaction manager. This ability is known as a Unilateral Abort.

After a transaction manager receives an Abort request from one of its participants, it immediately transitions the transaction to the Aborting state, which guarantees an Abort outcome. All other participants will be notified of the Abort outcome, although it is possible that the root application does not discover the Abort outcome until it attempts to complete the transaction or perform some other operation involving the transaction manager or another participant.

After a specified transaction manager enters the Aborting state, it does not issue any further Phase Zero notifications or Phase One requests to vote. For a transaction that spans two or more transaction managers due to propagation, it is possible for the Abort outcome decision to race with other Phase Zero or Phase One activity as it is communicated between the transaction managers.

The following figure shows the Unilateral Abort flow.

Unilateral Abort flow

Figure 5: Unilateral Abort flow