Product Documentation

V11.5 Update Guide

Previous Topic

Next Topic

Local/master replication model diagnostic logging of errors during two-phase transaction commit

When using the local/master replication model, it was possible to experience out-of-sync data between the master and local servers. In this model, we use a two-phase transaction commit on the master and local servers. To help us understand the sequence of events that precede the out-of-sync data situation, we added the server configuration option DIAGNOSTICS TR_TRAN_ERR to enable logging of errors during this two-phase commit sequence. The log entries are written to the file TR_TRAN.FCS in the server's LOCAL_DIRECTORY directory.

Sample log messages:

Wed Mar 1 09:35:46 2017 Transaction operation TRANABT failed: loc=1 master_err=127 local_err=0

Wed Mar 1 09:37:44 2017 Transaction operation TRANEND failed: loc=5 master_err=128 local_err=71

Wed Mar 1 09:43:25 2017 Transaction operation TRANEND failed: loc=5 master_err=128 local_err=0

Wed Mar 1 10:30:45 2017 Transaction operation TRANEND failed: loc=6 master_err=0 local_err=768

The log message includes function that failed, location code where the error occurred and master and local server error codes.

This feature can be enabled/disabled at runtime using ctSETCFG() or the ctadmn option to change a DIAGNOSTICS option.

Note: This is a Compatibility Change.

We also changed the following behavior based on our testing:

1) When aborting a transaction on the master server failed, we previously returned immediately rather than aborting the transaction on the local server. Now, in this situation, we mark the master server transaction as no longer active and then we abort the local transaction.

2) When phase 1 of the master server commit fails, we did not reset the active transaction indicator for the master server. This caused us to believe that the transaction on the master server was still active, even though it was not. Now we properly reset the active transaction indicator in this situation.

TOCIndex