2024 (07E8) (RC2024): MQRC_SYNCPOINT_LIMIT_REACHED

Explanation

An MQGET, MQPUT, or MQPUT1 call failed because it would have caused the number of uncommitted messages in the current unit of work to exceed the limit defined for the queue manager (see the MaxUncommittedMsgs queue-manager attribute). The number of uncommitted messages is the sum of the following since the start of the current unit of work:
  • Messages put by the application with the MQPMO_SYNCPOINT option
  • Messages retrieved by the application with the MQGMO_SYNCPOINT option
  • Trigger messages and COA report messages generated by the queue manager for messages put with the MQPMO_SYNCPOINT option
  • COD report messages generated by the queue manager for messages retrieved with the MQGMO_SYNCPOINT option
  • On HP Integrity NonStop Server, this reason code occurs when the maximum number of I/O operations in a single TM/MP transaction has been exceeded.
When publishing messages out of syncpoint to topics it is possible to receive this reason code; see Publications under syncpoint for more information.

Completion Code

MQCC_FAILED

Programmer response

Check whether the application is looping. If it is not, consider reducing the complexity of the application. Alternatively, increase the queue-manager limit for the maximum number of uncommitted messages within a unit of work.
  • On z/OS®, the limit for the maximum number of uncommitted messages can be changed by using the ALTER QMGR command.
  • On IBM® i, the limit for the maximum number of uncommitted messages can be changed by using the CHGMQM command.
  • On HP Integrity NonStop Server, the application should cancel the transaction and retry with a smaller number of operations in the unit of work. See the MQSeries® for Tandem NonStop Kernel System Management Guide for more details.