3.3.7.3.6 Recover In Doubt Transaction
The Recover In Doubt Transaction event MUST be signaled with the following argument:
An enlistment object.
If the Recover In Doubt Transaction event is signaled, the TIP subordinate transaction manager facet (section 1.3.1.2.2) MUST perform the following actions:
Cancel the query timer (section 3.3.2.1) associated with the provided enlistment object.
Call the TIP connection manager's GetTipConnectionFromAddress operation with the following parameter:
The Partner Transaction Manager Address field of the provided enlistment object.
If a TIP connection object cannot be obtained:
Create a query timer with the following arguments:
The provided enlistment object.
An implementation-specific timer value.
Otherwise:
If the value of the Allow Network Transactions flag or the Allow Inbound Transactions flag is FALSE:
Call the TIP connection manager's TerminateTipConnection operation with the following argument:
The provided TIP connection object.
Terminate the processing of this TIP command.
Set the TIP Connection field of the provided enlistment object to the TIP connection.
Set the enlistment referenced by the TIP connection to be the provided enlistment.
Set the State of the TIP connection object to Idle.
Send a QUERY TIP command with the following argument:
The Partner Transaction Identifier field of the enlistment object referenced by the TIP connection object.
Set the State of the TIP connection object to Idle Query.