3.7.7.1 Begin Commit

The Begin Commit event MUST be signaled with the following arguments:

If the Begin Commit event is signaled, the Superior Transaction Manager Facet (section 1.3.3.3.4) MUST perform the following actions:

  • If the connection state is Ended:

    • Initiate a new CONNTYPE_PARTNERTM_REDELIVERCOMMIT (section 2.2.9.2.2.1) connection by using the Name object referenced by the Name field of the Session object containing the provided enlistment's connection.

    • Add the new connection to the provided enlistment's transaction's connection list.

    • Set the provided enlistment's Enlistment Object.Connection field to the new connection.

    • Set the connection's Enlistment field to the provided Enlistment object.

    • Send a PARTNERTM_REDELIVERCOMMIT_MTAG_COMMITREQ (section 2.2.9.2.2.1.1) message using the new connection.

      • Set the guidTx field to the Transaction Object.Identifier field of the transaction object referenced by this connection's Enlistment object.

    • Set the new connection state to Awaiting Confirmation.

  • Otherwise:

    • Send a PARTNERTM_PROPAGATE_MTAG_COMMITREQ (section 2.2.9.1.1.1.9) message using the connection.

    • Set the connection state to Awaiting Commit Response.