How to Avoid DB2 Connect Gateway Agents Ending In Suspended State When Interfacing With Tuxedo? (Doc ID 2005392.1)

Last updated on NOVEMBER 04, 2016

Applies to:

Oracle Tuxedo - Version 11.1.1.2.0 and later
Information in this document applies to any platform.

Goal

IBM issue  with DB2 on Mainframe due to the IBM statement below :

With a DB2 Connect gateway, before calling xa_rollback Transaction Managers are required to call xa_end, and the call of xa_end must be done using the same transport that called xa_start.
(However, xa_rollback can be called using a different transport from that which was used to call xa_start and xa_end.)
If xa_rollback (or any other XA command) is called for an XID for which xa_end has not yet been called, that can lead to a hang situation in the Transaction Manager.


This is incorrect. It would require the application connecting to use dynamic registration and in that case the verbs xa_start and xa_end are not used.

The attachment to the transaction is done through the xa_reg/xa_unreg verbs using static registration.

Static registration of the DB2 resource manager is done during the build. See IBM documentation for the RM definition and use that in the Tuxedo resource manager definition file (i.e. Tuxedo RM file).

 

However, it is possible that the DB2Connect agent could still freeze when using static registration.

How can we avoid this?

Solution

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms