PK27230: WSAS 5.0.X AND 5.1.X WILL ROLL BACK A TRANSACTION TO MQ 5.3 CSD12 OR LATER INSTEAD OF MARKING IT FOR ROLL BACK.

 Fixes are available

5.1.1.17: WebSphere Application Server V5.1.1 Cumulative Fix 17 for AIX
5.1.1.17: WebSphere Application Server V5.1.1 Cumulative Fix 17 for HP-UX
5.1.1.19: WebSphere Application Server V5.1.1 Cumulative Fix 19 for Linux
5.1.1.16: WebSphere Application Server V5.1.1 Cumulative Fix 16 for AIX
5.1.1.18: WebSphere Application Server V5.1.1 Cumulative Fix 18 for AIX
5.1.1.18: WebSphere Application Server V5.1.1 Cumulative Fix 18 for HP-UX
5.1.1.18: WebSphere Application Server V5.1.1 Cumulative Fix 18 for Solaris
5.1.1.18: WebSphere Application Server V5.1.1 Cumulative Fix 18 for Windows
5.1.1.18: WebSphere Application Server V5.1.1 Cumulative Fix 18 for Linux
5.1.1.17: WebSphere Application Server V5.1.1 Cumulative Fix 17 for Linux
5.1.1.17: WebSphere Application Server V5.1.1 Cumulative Fix 17 for Solaris
5.1.1.17: WebSphere Application Server V5.1.1 Cumulative Fix 17 for Windows
5.1.1.19: WebSphere Application Server V5.1.1 Cumulative Fix 19 for AIX
5.1.1.19: WebSphere Application Server V5.1.1 Cumulative Fix 19 for Windows
5.1.1.16: WebSphere Application Server V5.1.1 Cumulative Fix 16 for Solaris
5.1.1.16: WebSphere Application Server V5.1.1 Cumulative Fix 16 for Windows
5.1.1.14: WebSphere Application Server V5.1.1 Cumulative Fix 14 for Solaris
PK27230; 5.0.2.18: Roll back causes failed transaction, it issues an xa_end()
5.1.1.13: WebSphere Application Server V5.1.1 Cumulative Fix 13 for AIX
5.1.1.13: WebSphere Application Server V5.1.1 Cumulative Fix 13 for Windows
5.1.1.13: WebSphere Application Server V5.1.1 Cumulative Fix 13 for HP-UX
5.1.1.15: WebSphere Application Server V5.1.1 Cumulative Fix 15 for Solaris
5.1.1.13: WebSphere Application Server V5.1.1 Cumulative Fix 13 for Solaris
5.1.1.13: WebSphere Application Server V5.1.1 Cumulative Fix 13 for Linux
5.1.1.14: WebSphere Application Server V5.1.1 Cumulative Fix 14 for AIX
5.1.1.14: WebSphere Application Server V5.1.1 Cumulative Fix 14 for Linux
5.1.1.14: WebSphere Application Server V5.1.1 Cumulative Fix 14 for Windows
5.1.1.15: WebSphere Application Server V5.1.1 Cumulative Fix 15 for Windows
5.1.1.14: WebSphere Application Server V5.1.1 Cumulative Fix 14 for HP-UX
5.1.1.15: WebSphere Application Server V5.1.1 Cumulative Fix 15 for AIX
5.1.1.15: WebSphere Application Server V5.1.1 Cumulative Fix 15 for HP-UX
5.1.1.16: WebSphere Application Server V5.1.1 Cumulative Fix 16 for HP-UX
5.1.1.16: WebSphere Application Server V5.1.1 Cumulative Fix 16 for Linux
5.1.1.15: WebSphere Application Server V5.1.1 Cumulative Fix 15 for Linux
5.1.1.19: WebSphere Application Server V5.1.1 Cumulative Fix 19 for HP-UX



APAR status
Closed as program error.

Error description
When WebSphere Application Server (WAS) decides to roll back a
failed transaction, it issues an xa_end() followed by an
xa_rollback() to the queue manager.
Prior to WebSphere MQ (WMQ) Version 5.3 CSD12, when the xa_end()
was issued, the queue manager simply marked the transaction for
rollback. The transaction would then be rolled back when
xa_rollback() was called.
However, when using WMQ 5.3 CSD12 (or later), the queue manager
will actually roll back the transaction when xa_end() is called.
When the application server then calls xa_rollback(), the queue
manager returns the error code XA_RBROLLBACK, as the transaction
has already been rolled back.
This behavior will be changed back to marked for roll back.
The exception will most likely look like:
[6/7/06 11:07:49:019 CEST] 1883883b XATransaction E J2CA0027E:
An exception occurred while invoking rollback on an XA Resource
Adapter
from dataSource JMS$ConnectionFactory
<JMSConnFactory>, within transaction ID {<XID>}:
javax.transaction.xa.XAException: XA operation failed, see
errorCode
 at com.ibm.mq.MQXAResource.rollback(MQXAResource.java:379)
 at
com.ibm.ejs.jms.JMSManagedSession$JMSXAResource.rollback(JMSMana
gedSesson.java:1311)                                    at
com.ibm.ejs.j2c.XATransactionWrapper.rollback(XATransactionWrapp
er.java
1266)..
Local fix Problem summary
****************************************************************
* USERS AFFECTED: This problem affects customers who use       *
*                 WebSphere MQ Version 5.3 or Version 6.x as   *
*                 the JMS provider for WebSphere Application   *
*                 Server Version 5.x.                          *
****************************************************************
* PROBLEM DESCRIPTION: When using WebSphere Application        *
*                      Server Version 5.x with WebSphere MQ    *
*                      Version 5.3 Fix Pack 12 (or later)      *
*                      or WebSphere MQ Version 6.0 Refresh     *
*                      Pack 1 (6.0.1.0) as the JMS provider,   *
*                      the following error appears in the      *
*                      application server's SystemOut.log      *
*                      file when a message is rolled back:     *
*                                                              *
*                      J2CA0027E: An exception occurred while  *
*                        invoking rollback on an XA Resource   *
*                        Adapter from dataSource <queue        *
*                        connection factory>, within           *
*                        transaction ID <XID>:                 *
*                        javax.transaction.xa.XAException:     *
*                        XA operation failed, see errorCode    *
*                      at com.ibm.mq.MQXAResource.             *
*                        rollback(MQXAResource.java:379)       *
*                      at com.ibm.ejs.jms.                     *
*                        JMSManagedSession$JMSXAResource.      *
*                        rollback                              *
*                        (JMSManagedSession.java:1311)         *
*                      at com.ibm.ejs.j2c.                     *
*                        XATransactionWrapper.rollback         *
*                       (XATransactionWrapper.java:1266)       *
*                      :    :    :    :    :    :    :    :    *
*                      Encountered an XA resource error        *
*                        during an XA rollback operation:      *
*                        error code:                           *
*                        XA_RBROLLBACK                         *
*                      javax.transaction.xa.XAException: XA    *
*                        operation failed, see errorCode       *
*                      at com.ibm.mq.MQXAResource.             *
*                        rollback(MQXAResource.java:379)       *
*                      at com.ibm.ejs.jms.                     *
*                        JMSManagedSession$JMSXAResource.      *
*                        rollback                              *
*                        (JMSManagedSession.java:1311)         *
*                      at com.ibm.ejs.j2c.                     *
*                        XATransactionWrapper.rollback         *
*                        (XATransactionWrapper.java:1266)      *
*                      at com.ibm.ejs.jts.jta.portable.        *
*                        JTAXAResourceImpl.rollback            *
*                        (JTAXAResourceImpl.java:616)          *
*                      :    :    :    :    :    :    :    :    *
****************************************************************
* RECOMMENDATION:                                              *
****************************************************************
This problem was caused by a change in behaviour introduced by
WebSphere MQ APAR 
IY76314 (shipped as part of WebSphere MQ
Version 5.3 Fix Pack 12 and WebSphere MQ Version 6.0 Refresh
Pack 1 (6.0.1.0)).

When WebSphere Application Server decides to roll back a
failed transaction, it issues an xa_end() followed by an
xa_rollback() to the queue manager. Any errors thrown by the
queue manager when xa_end() is called are ignored.

Prior to APAR 
IY76314, when the xa_end() was issued, the queue
manager simply marked the transaction for rollback. The
transaction would then be rolled back when xa_rollback() was
called.

However, when using WMQ 5.3 CSD12 (or later) or WMQ 6.0.1.0
(or later), the queue manager will actually roll back the
transaction when xa_end() is called. When the application
server then calls xa_rollback(), the queue manager returns
XA_RBROLLBACK, as the transaction has already been rolled back.


As the application server is not expecting this return code,
it throws the J2CA0027E error mentioned above.

However, it is perfectly valid for WMQ to return this return
code if it has previously told the application server that it
has rolled back the message while processing the xa_end(). It
does this by returning XA_RBROLLBACK from xa_end(). The
application server ignores this, as it is a valid return
value.
Problem conclusion
In order to fix the problem, the JMSManagedSession class has
been modified to store the ignored exception, should one be
returned from xa_end(). If an exception occurs in
xa_rollback(), a check is made to see if this is the same
exception as was previously received from xa_end(). If it is,
then the exception is swallowed up - however, if the
exceptions are different, it is rethrown to the caller.

The fix for this APAR is currently targeted for inclusion in
Cumulative Fix 13 for WebSphere Application Server Version
5.1.1 and fixpacks 6.0.2.15 and 6.1.0.4 for WebSphere
Application Server version 6.
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 PK27230
Reported component name WEBSPHERE BASE
Reported component ID 5630A3600
Reported release 10A
Status CLOSED PER
PE NoPE
HIPER NoHIPER
Special Attention NoSpecatt
Submitted date 2006-06-27
Closed date 2006-08-23
Last modified date 2006-08-23

APAR is sysrouted FROM one or more of the following:

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

Modules/Macros
MSGING          

Publications Referenced

Fix information
Fixed component name WEBSPHERE BASE
Fixed component ID 5630A3600

Applicable component levels
R003 PSY    UP
R00A PSY    UP
R00H PSY    UP
R00I PSY    UP
R00P PSY    UP
R00S PSY    UP
R00W PSY    UP
R103 PSY    UP
R10A PSY    UP
R10H PSY    UP
R10I PSY    UP
R10P PSY    UP
R10S PSY    UP
R10W PSY    UP


Document Information


Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server > General
Operating system(s):
Software version: 10A
Software edition:
Reference #: PK27230
IBM Group: Software Group
Modified date: Aug 23, 2006