IBM Support

IV25873: WMQ JMS TRANSACTION DOES NOT COMPLETE DUE TO CONNECTION BROKEN, BUT IS NOT ROLLED BACK IMMEDIATELY AND IS PROCESSED HOURS LATER

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • WebSphere MQ V7 classes for JMS application receives a return
    code 2009 'MQRC_CONNECTION_BROKEN' causing the JMS Connection
    and its associated Session to be closed.
    
    At the time the JMS Session was involved in a XA transaction.
    When the Transaction Manager (for example, WebSphere
    Application Server) attempts to call XA prepare on the
    Session, it received a XAER_NOTA XA return code (-4), due to
    the connection to the queue manager already being closed.
    
    Following this connection failure, the transaction became
    stranded, until the WebSphere MQ queue manager encountered a
    log-nearly-full condition.  At this point the transaction was
    rolled back.
    
    The message received under the transaction is locked until the
    transaction is rolled back.  This may occur many hours later
    when the WebSphere MQ transaction logs become full and
    incomplete transactions are rolled back to free space.
    
    The application server's SystemOut.log file records the
    message:
    
    javax.transaction.xa.XAException: The method 'xa_prepare' has
    failed with errorCode '-4'.
    
    When the transaction is eventually rolled back, WebSphere MQ
    queue manager logs record the message:
    
    AMQ7469:Transactions rolled back to release log space.
    

Local fix

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    This issue affects users of the WebSphere MQ classes for JMS,
    who are making use of XA transactions.  This includes:
    
    - The WebSphere MQ V7 classes for JMS.
    - The WebSphere MQ V7 Resource Adapter.
    - The WebSphere Application Server V7 WebSphere MQ messaging
    provider.
    - The WebSphere Application Server V8 WebSphere MQ messaging
    provider.
    - The WebSphere Application Server V6.1 WebSphere MQ messaging
    provider who have configured the WebSphere variable
    MQ_INSTALL_ROOT to point to a WebSphere MQ V7 installation.
    
    Platforms affected:
    All Distributed (iSeries, all Unix and Windows) +Java +Java zOS
    ****************************************************************
    PROBLEM SUMMARY:
    When an XASession object is requested to 'prepare' by the
    transaction manager, the WebSphere MQ classes for JMS returned
    an inappropriate XA return code when the XASession was closed
    between the 'XA end' and 'XA prepare' calls, for example in the
    event where the TCP network connection was lost between the
    WebSphere MQ classes for JMS and the queue manager.
    
    This resulted in the transaction manager not communicating with
    queue manager to request that this transaction is cleaned up,
    leaving the transaction in an idle state until the transaction
    is completed (rolledback) when the queue manager transaction
    logs wrap.
    
    The consequence of this in the WebSphere Application Server
    environment where the message was being used to drive an MDB,
    is that the message was not consumed again from the queue until
    the transaction had been rolled back and the message became
    visible on the queue, which may be several hours after it was
    originally consumed.
    

Problem conclusion

  • The code change associated with this APAR resolves the issue
    by the XASession throwing the more appropriate 'XAER_RMFAIL'
    return code on the prepare request, when the XASession has been
    prematurely closed.
    
    This results in the transaction manager recreating the XA
    resource and ensuring that the resource is retried to complete
    the transaction automatically on the queue manager.
    
    If the transaction manager being used is WebSphere Application
    Server v6.1, then the WebSphere Application Server APAR PM70624
    is also required to be installed on the application server in
    order for the WebSphere MQ classes for JMS code to function
    as described.  WebSphere Application Server v7 or above
    does not require any additional APARs other than this WebSphere
    MQ classes for JMS APAR.
    
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
                       v7.0
    Platform           Fix Pack 7.0.1.10
    --------           --------------------
    Windows            U200352
    AIX                U853055
    HP-UX (PA-RISC)    U853082
    HP-UX (Itanium)    U853087
    Solaris (SPARC)    U853083
    Solaris (x86-64)   U853089
    iSeries            7.0.1.10
    Linux (x86)        U853084
    Linux (x86-64)     U853088
    Linux (zSeries)    U853085
    Linux (Power)      U853086
    zOS                7.0.1.10
    
                       v7.1
    Platform           Fix Pack 7.1.0.3
    --------           --------------------
    Windows            7.1.0.3
    AIX                7.1.0.3
    HP-UX (Itanium)    7.1.0.3
    Solaris (SPARC)    7.1.0.3
    Solaris (x86-64)   7.1.0.3
    iSeries            7.1.0.3
    Linux (x86)        7.1.0.3
    Linux (x86-64)     7.1.0.3
    Linux (zSeries)    7.1.0.3
    Linux (Power)      7.1.0.3
    zOS                7.1.0.3
    
    Platform           v7.5
    --------           --------------------
    Multiplatforms     7.5.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

    IV25873

  • Reported component name

    WMQ AIX V7

  • Reported component ID

    5724H7221

  • Reported release

    701

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-08-08

  • Closed date

    2012-08-30

  • Last modified date

    2013-05-24

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

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

Fix information

  • Fixed component name

    WMQ AIX V7

  • Fixed component ID

    5724H7221

Applicable component levels

  • R701 PSY

       UP

[{"Line of Business":{"code":"LOB45","label":"Automation"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSFKSJ","label":"WebSphere MQ"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0.1"}]

Document Information

Modified date:
01 October 2021