Participant failure

Whenever a participant in a distributed transaction that uses the heterogeneous protocol fails, the coordinator sends the following error message:
-441    Possible inconsistent data at the target DBMS name due to an 
aborted commit.
In addition, the database server sends the following message to the message log:
Data source accessed using gateway name might be in an inconsistent state.
A participant failure is not limited to the failure of a database server or gateway. In addition, a failure of the communication link between the coordinator and the gateway is considered a gateway failure. The gateway terminates if a link failure occurs. The gateway must terminate because it does not maintain a transaction log and therefore cannot reestablish a connection with the coordinator and resume the transaction. Because of this restriction, some scenarios exist in which a gateway failure might leave data in an inconsistent state. The following table summarizes these scenarios.
Point of participant failure Expected result
After participant receives commit transaction message from coordinator, but before participant performs commit Data consistency is maintained.
After participant receives commit transaction message from coordinator and commits the transaction, but before the participant replies to coordinator Data is inconsistent.
After participant commits the transaction and sends a reply to coordinator If the communications link fails before the coordinator receives the reply, then data is inconsistent. If the coordinator receives the reply, then data is consistent (provided the coordinator does not fail before writing the COMMIT record).

The recovery procedure that the database server follows when a participant fails is identical to the procedure that is followed in two-phase commit. For more information about this procedure, see How the two-phase commit protocol handles failures.


Copyright© 2019 HCL Technologies Limited