3.2.7.19 Enlistment Unilaterally Aborted

The Enlistment Unilaterally Aborted event MUST be signaled with the following arguments:

If the Enlistment Unilaterally Aborted event is signaled, the Core Transaction Manager Facet (section 1.3.3.3.1) MUST perform the following actions:

  • If the transaction state is Active (section 3.2.1.3.2), Phase Zero (section 3.2.1.3.3), Phase Zero Complete (section 3.2.1.3.4), Voting (section 3.2.1.3.5), Voting Complete (section 3.2.1.3.6) or Phase One (section 3.2.1.3.7):

    • Remove the provided Enlistment object from any of the following transaction lists in which it is present:

    • If the transaction state is Phase Zero (section 3.2.1.3.3):

      • Signal the Phase Zero Complete (see sections 3.4.7.14 and 3.8.7.6) event on the transaction's Superior Enlistment's Transaction Manager Facet with the following arguments:

        • The transaction's Superior Enlistment object

        • The Failure outcome

    • Otherwise, if the transaction state is Voting (section 3.2.1.3.5) or Phase One (section 3.2.1.3.7):

      • Signal the Phase One Complete (see sections 3.4.7.13 and 3.8.7.7) event on the transaction's Superior Enlistment's Transaction Manager facet with the following arguments:

        • The transaction's Superior Enlistment object

        • The Aborted outcome

    • Otherwise:

      • Signal the Unilaterally Aborted (see sections 3.4.7.23 and 3.8.7.11) event on the transaction's Superior Enlistment's Transaction Manager facet with the transaction's Superior Enlistment object.

    • Signal the Notify Aborted (section 3.2.7.23) event on the Core Transaction Manager Facet (section 1.3.3.3.1) with the transaction object referenced by the Transaction field of the provided Enlistment object.

  • Otherwise, ignore the event.