Your first task is to determine whether the transaction was implemented inconsistently as a result of an independent action.
If you executed an onmode -z command to end the global transaction on the coordinator, the transaction might be inconsistently implemented. (For an explanation of how this situation can arise, see Independent Actions That Result in an Error Condition.) You can check for an inconsistent transaction by first examining the database server message log for the coordinator. Look for the following error message:
-716 Possible inconsistent transaction. Unknown servers are server-name-list.
This message lists all the database servers that were participants. Examine the logical log of each participant. If at least one participant performed a commit and one performed a rollback, the transaction was inconsistently implemented.
If you executed an onmode -Z address command to end a piece of work performed by a participant, and the coordinator decided to commit the transaction, the transaction is implemented inconsistently. (For a description of this scenario, see The Heuristic End-Transaction Scenario.) Examine the logical log of each participant. If at least one participant performed a commit and one performed a rollback, the transaction was inconsistently implemented.
You can determine the specific database server participants affected by a heuristic decision to roll back a transaction in the following ways:
The following message indicates that one of the participants performed a heuristic rollback:
-698 Inconsistent transaction. Number and names of servers rolled back.
If a database inconsistency is possible because of a heuristic decision at a participating database server, the following message appears in the database server message-log file of the coordinator:
Mixed transaction result. (pid=nn user=user_id)
This message is written whenever error -698 is returned. Associated with this message is a list of the participant database servers where the transaction was rolled back. This is the complete list. The list that appears with the -698 error message could be truncated if a large number of participants rolled back the transaction.
If at least one participant rolls back its piece of work and one participant commits its piece of work, the transaction is implemented incorrectly.