3.3.7.5 Begin Commit
The Begin Commit event MUST be signaled with the following argument:
An Enlistment object
If the Begin Commit event is signaled, the Transaction Manager Communicating with an LU 6.2 Implementation Facet MUST perform the following actions:
If the Connection field of the provided Enlistment object is not set:
For each LU Pair object in the LU Pair Table:
Attempt to find the first LUW object in the LUW List of the LU Pair object that meets the following condition:
The Transaction Identifier field of the LUW object is set to the value of the Transaction Identifier field of the provided Enlistment object.
If an LUW object is found:
Set the Local LU LUW State of the found LUW object to Committed.
Set the LUW Recovery State of the found LUW object to Need Recovery.
Signal the Recovery Work Ready event with the following arguments:
The LU Pair object
The Recovery Work Ready Reason set to LUW Recovery
Otherwise:
Continue processing.
Otherwise:
If the connection state is Prepared:
Send a TXUSER_DTCLURMENLISTMENT_MTAG_TO_LU_COMMITTED message using the connection of the provided Enlistment object.
Set the connection state to Awaiting Commit Response.
Otherwise, ignore the event.