Fixes are available
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