IBM Support

PM91775: AN XAEXCEPTION DURING PREPARE CAN PREVENT FUTURE JMS WORK BE ING INCLUDED IN A TRANSACTION.

Fixes are available

8.5.5.1: WebSphere Application Server V8.5.5 Fix Pack 1
8.0.0.8: WebSphere Application Server V8.0 Fix Pack 8
7.0.0.31: WebSphere Application Server V7.0 Fix Pack 31
8.5.5.2: WebSphere Application Server V8.5.5 Fix Pack 2
7.0.0.33: WebSphere Application Server V7.0 Fix Pack 33
8.0.0.9: WebSphere Application Server V8.0 Fix Pack 9
8.5.5.3: WebSphere Application Server V8.5.5 Fix Pack 3
7.0.0.35: WebSphere Application Server V7.0 Fix Pack 35
8.5.5.4: WebSphere Application Server V8.5.5 Fix Pack 4
8.0.0.10: WebSphere Application Server V8.0 Fix Pack 10
7.0.0.37: WebSphere Application Server V7.0 Fix Pack 37
8.5.5.5: WebSphere Application Server V8.5.5 Fix Pack 5
8.5.5.6: WebSphere Application Server V8.5.5 Fix Pack 6
8.0.0.11: WebSphere Application Server V8.0 Fix Pack 11
8.5.5.7: WebSphere Application Server V8.5.5 Fix Pack 7
7.0.0.39: WebSphere Application Server V7.0 Fix Pack 39
8.5.5.8: WebSphere Application Server V8.5.5 Fix Pack 8
8.0.0.12: WebSphere Application Server V8.0 Fix Pack 12
8.5.5.9: WebSphere Application Server V8.5.5 Fix Pack 9
7.0.0.41: WebSphere Application Server V7.0 Fix Pack 41
8.5.5.10: WebSphere Application Server V8.5.5 Fix Pack 10
8.5.5.11: WebSphere Application Server V8.5.5 Fix Pack 11
8.0.0.13: WebSphere Application Server V8.0 Fix Pack 13
7.0.0.43: WebSphere Application Server V7.0 Fix Pack 43
8.5.5.12: WebSphere Application Server V8.5.5 Fix Pack 12
8.0.0.14: WebSphere Application Server V8.0 Fix Pack 14
8.5.5.13: WebSphere Application Server V8.5.5 Fix Pack 13
7.0.0.45: WebSphere Application Server V7.0 Fix Pack 45
8.0.0.15: WebSphere Application Server V8.0 Fix Pack 15
7.0.0.45: Java SDK 1.6 SR16 FP60 Cumulative Fix for WebSphere Application Server
7.0.0.31: Java SDK 1.6 SR15 Cumulative Fix for WebSphere Application Server
7.0.0.35: Java SDK 1.6 SR16 FP1 Cumulative Fix for WebSphere Application Server
7.0.0.37: Java SDK 1.6 SR16 FP3 Cumulative Fix for WebSphere Application Server
7.0.0.39: Java SDK 1.6 SR16 FP7 Cumulative Fix for WebSphere Application Server
7.0.0.41: Java SDK 1.6 SR16 FP20 Cumulative Fix for WebSphere Application Server
7.0.0.43: Java SDK 1.6 SR16 FP41 Cumulative Fix for WebSphere Application Server
8.5.5.14: WebSphere Application Server V8.5.5 Fix Pack 14

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • In the customer's configuration, the MDB is attempting to put
    to a queue where they have limited the queue depth. If the
    current depth of the queue is at the limit then the MQPUT fails.
    However, the MQPUT is being done with MQPMO_ASYNC_RESPONSE, so
    the failure is not immediately passed back to the client.
    When MQ is called for XA_PREPARE, it detects that an aysnc put
    which was part of the transaction has failed, and backs out the
    rest of the MQ work for that transaction. XA_RBROLLBACK is
    returned to the transaction manager to indicate that the
    transaction could not be prepared.
    
    When an MQSession is requested by the MDB onMessage method, the
    one retrieved from the pool is marked as enlisted=true. This
    appears to mean that when the MDB uses the session to put a
    message, WAS does not issue an XA_START request for the
    JMSSession.
    
    The MQPUT is done outside of the XA transaction, and does not
    get committed when the MDB completes.
    
    The MQ trace reveals  that the same session is used for several
    iterations of this processing, resulting in multiple messages
    being left uncommitted on the transmission queue which is the
    target of the MQPUT.
    
    Result: WAS managed resources don't get properly enrolled in
    the XA transaction.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server with applications that use JMS       *
    ****************************************************************
    * PROBLEM DESCRIPTION: JMS Sessions do not enlist in the       *
    *                      transaction if XA prepares have         *
    *                      previously failed                       *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    If a JMS Session has received an error during XA
    transaction prepare, subsequent uses of that JMS session will
    not enlist in the transaction, meaning that work is done
    outside of the global transaction.
    

Problem conclusion

  • The JMS code has been updated to correctly handle exceptions
    during XA prepare and reset the state of the object such that
    it will enlist in future XA transactions.
    
    The fix for this APAR is currently targeted for inclusion in
    fix pack 8.0.0.8 and 8.5.5.1.  Please refer to the Recommended
    Updates page for delivery information:
    http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM91775

  • Reported component name

    WEBS APP SERV N

  • Reported component ID

    5724H8800

  • Reported release

    700

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-06-25

  • Closed date

    2013-07-29

  • Last modified date

    2013-10-07

  • 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

    WEBS APP SERV N

  • Fixed component ID

    5724H8800

Applicable component levels

  • R700 PSY

       UP

  • R800 PSY

       UP

  • R850 PSY

       UP



Document information

More support for: WebSphere Application Server
General

Software version: 7.0

Reference #: PM91775

Modified date: 07 October 2013