IBM MQ XA support and Tuxedo

IBM MQ on Windows, UNIX and Linux systems can block Tuxedo-coordinated XA applications indefinitely in xa_start.

This can occur only when two or more processes coordinated by Tuxedo in a single global transaction attempt to access IBM MQ using the same transaction branch ID (XID). If Tuxedo gives each process in the global transaction a different XID to use with IBM MQ, this cannot occur.

To avoid the problem, configure each application in Tuxedo that accesses IBM MQ under a single global transaction ID (gtrid), within its own Tuxedo server group. Processes in the same server group use the same XID when accessing resource managers on behalf of a single gtrid, and are therefore vulnerable to blocking in xa_start in IBM MQ. Processes in different server groups use separate XIDs when accessing resource managers and so do not have to serialize their transaction work in IBM MQ.