Deferring SDS Transactions

The [SyncDbService] section of the JADE initialization file on secondary database servers can contain the MaxDeferredTransactions parameter, which enables you to configure the threshold of transactions that can remain deferred as a result of lock conflicts.

Lock conflicts arise when reader processes acquire share locks on objects that prevent replay processes from completing transactions.

The default value is 30, the minimum value is 1, and the maximum value is 5,000.

When the number of deferred transactions exceeds the configured limit, replay is paused until the backlog of deferred transactions has reduced to zero (0).

With replay paused, journal mirroring can continue; however, when the secondary is not replaying in the current write journal, it is reported as catching up and it will remain in a catching up state until the issue is resolved.

When the limit is reached, the following is an example of the diagnostics that are output to the jommsg.log file and the SDS work log.

2008/06/21 11:24:25.860 01740-11b8 SDS: Queued transactions=501 exceeds max deferred transactions=500
2008/06/21 11:24:26.738 01740-11b8 SDS: Waiting for 501 delayed transaction(s) to complete
2008/06/21 11:24:57.012 01740-11b8 SDS: Waiting for 324 delayed transaction(s) to complete
2008/06/21 11:25:27.693 01740-11b8 SDS: Waiting for 235 delayed transaction(s) to complete
2008/06/21 11:25:58.353 01740-11b8 SDS: Waiting for 202 delayed transaction(s) to complete