Action when the transaction is ended heuristically

When you run onmode -Z, you direct the onmode utility to remove the participant transaction entry, which is located at the specified address, from the transaction table.

Two records are written in the logical log to document the action. The records are type ROLLBACK and ENDTRANS, or if the transaction was already heuristically rolled back, ENDTRANS only. The following message is written to the participant database server message log:
(time_stamp) Transaction Completed Abnormally (endtx): tx=address flags:0xnn user username tty ttyid

The coordinator receives an error message from the participant where the onmode -Z occurred, in response to its COMMIT instruction. The coordinator queries the participant database server, which no longer has information about the transaction. The lack of a transaction-table entry at the participant database server indicates that the transaction committed. The coordinator assumes that the acknowledgment message was sent from the participant, but somehow it was not received. Because the coordinator does not know that this participant's piece of work did not commit, it does not generate messages indicating that the global transaction was inconsistently implemented. Only the administrator who ran the onmode -Z command is aware of the inconsistent implementation.


Copyright© 2019 HCL Technologies Limited