IBM Support

IT16767: MQ client app running under control of XA TM calls MQDISC and MQ later rejects XA calls on the same thread

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • An MQ client application is running under control of CICS or
    TUXEDO as XA transaction manager (TM) in a global transaction.
    
    The user code in the application disconnects by calling MQDISC.
     Shortly afterwards, the TM library code make calls to MQ XA
    functions on the same thread.
    
    MQ rejects these calls, with return codes such as -5
    (XAER_INVAL) and -6 (XAER_PROTO).
    
    But this is indeed a valid sequence, so no error should be
    returned by MQ.
    
    Separately, another problem has been seen if the XA application
    calls MQCONN and MQOPEN after calling MQDISC.  This is a valid
    sequence, but the MQ code did not create the 2nd connection
    properly, so the MQOPEN call failed with reason code 2009
    MQRC_CONNECTION_BROKEN.
    
    Separately, it is possible during shutdown of connections to see
    the queue manager end pre-emptively, after writing FDCs with
    these identifiers:
    AT077013/atxAssociationRemove    rc=arcE_XAER_PROTO
    AT080004/atxAssociationRemoveAll rc=arcE_XAER_PROTO
    ZL043105/zlaMainThread           rc=STOP_ALL
    
    These problems might also be seen when ending client-connected
    channels from applications hosted in JEE application servers
    such as WebSphere Application Server.
    
    These problems were introduced as a side effect in APAR IT08918.
    

Local fix

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    Users running a client application (connected to MQ over TCP/IP)
    under control of external XA TM software (for example, WebSphere
    Application Server, CICS or TUXEDO) in a global transaction.
    The fix applies to the server side, not the client side.  The
    problem only exists in server-side code levels that include
    IT08918 (beginning 7.5.0.6, 8.0.0.4, 9.0.0.0).
    
    
    Platforms affected:
    MultiPlatform
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    When the SVRCONN channel program received the MQDISC request
    from the client, it called xa_close on the application's behalf.
     This caused later XA calls to be rejected because the XA
    context had been closed down.
    
    In certain states it was also possible for the queue manager's
    cleanup activity to attempt operations in an order that broke
    some internal rules, and caused the pre-emptive ending of the
    queue manager.
    

Problem conclusion

  • The MQ product code has been corrected, so when the SVRCONN
    channel program receives the MQDISC request from the client, it
    does not call xa_close on the application's behalf.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v7.5       7.5.0.8
    v8.0       8.0.0.6
    v9.0 CD    9.0.2
    v9.0 LTS   9.0.0.1
    
    The latest available maintenance can be obtained from
    'WebSphere MQ Recommended Fixes'
    http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006037
    
    If the maintenance level is not yet available information on
    its planned availability can be found in 'WebSphere MQ
    Planned Maintenance Release Dates'
    http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006309
    ---------------------------------------------------------------
    

Temporary fix

Comments

APAR Information

  • APAR number

    IT16767

  • Reported component name

    WMQ BASE MULTIP

  • Reported component ID

    5724H7251

  • Reported release

    800

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    YesHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2016-08-25

  • Closed date

    2016-12-19

  • Last modified date

    2017-12-04

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    PI73983

Fix information

  • Fixed component name

    WMQ BASE MULTIP

  • Fixed component ID

    5724H7251

Applicable component levels

  • R800 PSY

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.0.0.0","Edition":"","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
04 December 2017