IBM MQ reason code

MQRC 2072: Syncpoint unavailable

MQRC 2072 means MQ cannot honor a syncpoint request. Check transaction startup, the coordinator and platform support before removing syncpoint.

Other names for this code

Also written as RC2072, reason code 2072, MQ error 2072, MQRC_SYNCPOINT_NOT_AVAILABLE, 0818, 0x0818.

What it means

An MQGET or put requested syncpoint, but the required transaction support is unavailable in that context. IBM documents unsupported queue-manager environments and external coordinators whose unit of work has not been started.

On IBM i, the reference points to Commitment Control not started or unavailable to MQ. Multicast messaging does not support the transactional request described by this code.

A troubleshooting example

A worker normally starts a managed transaction, gets an input and puts a result. Its reconnect branch bypasses transaction startup, so the next syncpoint call returns 2072. Removing the syncpoint flag appears to fix the exception but allows input and output to complete independently. Correct the reconnect path instead. Test a failure between get and put, then verify that the intended rollback restores the complete business unit rather than leaving half of it processed.

Common causes

  • The application requests MQGMO_SYNCPOINT or MQPMO_SYNCPOINT without a usable unit-of-work environment.
  • An external coordinator requires explicit transaction startup and that startup was skipped.
  • Deployment moved the program to an environment with different transaction capabilities.

How to find the problem

  1. Capture the failing call, syncpoint options and the component expected to own commit and backout.
  2. Check the transaction startup path, including branches after timeout, reconnect and exception recovery.
  3. For IBM i, have the administrator confirm Commitment Control availability in the actual execution context.
  4. Compare the environment with the working system. Verify whether the messaging model and coordinator support the requested unit of work.

How to fix it

  • Restore the intended transaction context or start the unit of work through the supported coordinator. Validate both commit and rollback paths.
  • If the environment cannot supply the required guarantees, change the deployment or transaction design with the application owner.
  • Remove syncpoint only when the business process permits nontransactional behavior. A successful individual put is not a substitute for atomic processing across several operations.

What it looks like

Illustrative diagnostic notes; not an IBM message template.
Expected sequence: begin unit of work -> MQGET -> MQPUT -> commit
Reconnect branch skipped transaction startup
Syncpoint call: Reason=2072

IBM documentation

IBM MQ 9.4: 2072 MQRC_SYNCPOINT_NOT_AVAILABLE. Use the documentation for your installed release.

Report a correction to WND Software.

Questions

Should I remove MQPMO_SYNCPOINT to fix this?

Only if nontransactional delivery is the approved design. Otherwise restore the missing transaction support or startup.

How does 2072 differ from 2003?

2072 means the requested syncpoint support is unavailable. 2003 reports a unit of work that was backed out or cannot commit.