Syncpoints in MQSeries for Compaq NonStop Kernel applications

When using MQSeries for Compaq NonStop Kernel, transaction management is performed under the control of the Compaq NonStop Kernel TM/MP product, rather than by MQSeries for Compaq NonStop Kernel itself.

The effects of this difference are:

Using MQGET wait interval and channel DISCINT and HBINT

When performing MQGET using MQGMO_NO_SYNCPOINT, a TM/MP transaction is started and ended by MQSeries only when a persistent message is available that satisfies the retrieval criteria. No consideration needs to be given by applications to the value of WaitInterval for no syncpoint operation.

For an MQGET issued with the MQGMO_SYNCPOINT or MQGMO_SYNCPOINT_IF_PERSISTENT option, the TM/MP transaction is under the control of the user application which issues the BEGINTRANSACTION. The wait interval should not exceed the TMF Autoabort timeout value and ideally should be small to avoid pinning a significant amount of the TM/MP audit trail (values under a minute should normally be used). Specifying wait unlimited on a lightly used queue or a queue that is idle overnight may cause the autoabort timeout to be exceeded and a MQRC_UOW_CANCELED (2297) to be returned to the MQGET when a message becomes available on the queue. Having a high wait interval or using unlimited can cause TMF audit trails to be pinned, eventually leading (if uncorrected) to the TM/MP subsystem disabling transactions on a system-wide basis.

Similarly the DISCINT value and HBINT value for sending channels controls the length of a TM/MP transaction. Channels are capable of cycling transactions when idle to allow long disconnect intervals, without having a detrimental affect on TM/MP audit trails.

A parameter, MQTRANSACTIONLIFE, can be used to control the refreshing of the TM/MP transaction for channel disconnect intervals and heartbeats that are zero. This is useful if a longer or shorter TM/MP transaction life is desired or to change the amount TM/MP activity the idle channel produces. A higher value will produce less, a lower setting more.

Add to each MQSeries MQS-ECxx PATHWAY server class:

PARAM MQTRANSACTIONLIFE <number>

where <number> is a number such as 100.

This parameter overrides the use of the 10 second default TM/MP transaction refresh interval. For example, a channel with a disconnect interval unlimited without the parameter would cause a refresh approximately every 10 seconds while it waits for a message to arrive.



© IBM Corporation 1993, 2002. All Rights Reserved