Fix (APAR): PK61176 Status: Fix Release: 6.1.0.17 Operating System: AIX,HP-UX,i5/OS,Linux,Linux pSeries,Linux zSeries,OS/400,Solaris,Windows Supersedes Fixes: CMVC Defect: PK61176 Byte size of APAR: 24092 Date: 2008-05-19 Abstract: An FFDC is thrown showing an XidUnknownException from XidManager.rollback() on the application server hosting a Messaging Engine. Description/symptom of problem: PK61176 resolves the following problem: ERROR DESCRIPTION: If a program connected to a service integration bus commits a two-phase unit of work, the bus must process an xa_prepare request. When xa_prepare fails with a rollback error code (XA_RBROLLBACK, for example) the bus has already rolled back and forgotten about the transaction identifier (XID). However, the service integration bus communications layer remembers the XID. This can result in attempts to rollback the transaction again at disconnect time, leading to an FFDC with the exception com.ibm.ws.sib.msgstore.XidUnknownException. LOCAL FIX: None. This problem does not affect transactional integrity, it just results in several unnecessary exception messages. PROBLEM SUMMARY USERS AFFECTED: Users of the default messaging provider for WebSphere Application Server V6.0 and V6.1 PROBLEM DESCRIPTION: An FFDC is thrown showing an XidUnknownException from XidManager.rollback() on the application server hosting a Messaging Engine. RECOMMENDATION: None This issue occurs after an XAException with errorCode XAException.XA_RBROLLBACK (100) is thrown by a messaging engine when the transaction manager requests the prepare phase of a two-phase commit. For example, the prepare may have failed because the message store for the messaging engine was temporarily unavailable. This failure is reported via an FFDC showing exception com.ibm.ws.sib.msgstore.RollbackException thrown from method com.ibm.ws.sib.msgstore.transactions.MSDelegatingXAResource. prepare() The messaging engine correctly rolled back the transaction before throwing this XA_RBROLLBACK exception. However, code which is responsible for network communications between the application and the messaging engine incorrectly kept a reference to the transaction. The existence of this reference can result in one of the following issues: The code may attempt to perform a rollback of the transaction, even though it has already been rolled back. This results in an FFDC with the following exception: com.ibm.ws.sib.msgstore.XidUnknownException: CWSIS1000E: The requested action could not be carried out as it does not comply with the XA transaction protocol. Thrown from the following method: com.ibm.ws.sib.msgstore.transactions.XidManager.rollback() This FFDC can occur without resulting in any further problems. However, it is possible that messages will remain in LOCKED status after an application disconnects. In WebSphere Application Server V6.1, this issue has also been seen to result in remotely attached message-driven beans stopping processing of messages. In this case an FFDC with probeid "5" from and exception com.ibm.websphere.sib.exception.SIIncorrectCallException is seen from thrown from method: com.ibm.ws.sib.ra.inbound.impl.SibRaDispatcher.deleteMessages() PROBLEM CONCLUSION: This APAR resolves the issue. Directions to apply fix: NOTE: Choose the: 1) Release the fix applies to 2) The Editions that apply 3) Delete the Editions & Methods that do not apply and this Note Fix applies to Editions: Release 6.0 __ Application Server (Express or BASE) __ Network Deployment (ND) __ WebSphere Business Integration Server Foundation (WBISF) __ Edge Components __ Developer __ Extended Deployment (XD) Install Fix to: Method: __ Application Server Nodes __ Deployment Manager Nodes __ Both NOTE: The user must: * Have Administrative rights in Windows, or be the Actual Root User in a UNIX environments. * Logged in with the same authority level when unpacking a fix, fix pack or refresh pack. * Be at V6.0.2.2 or newer of the Update Installer. This can be checked by reviewing the level of the Update Installer in file /updateinstaller/version.txt. The Update Installer can be downloaded from the following link: http://www.ibm.com/support/docview.wss?rs=180&uid=swg21205991 For detailed instructions to Extract the Update Installer see the following Technote: http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg21205400 1) Copy PKxxxxx.pak file directly to the maintenance directory 2) Shutdown WebSphere Manually execute setupCmdLine.bat in Windows or . ./setupCmdLine.sh in Unix from the WebSphere instance that maintenance is being applied to. 3) Launch Update Installer 4) Enter the installation location of the WebSphere product you want to update. 5) Select the "Install maintenance package" operation. 6) Enter the file name of the maintenance package to install (PKxxxxx.pak file which was copied in the maintenance directory). 7) Install the maintenance package. 8) Restart WebSphere Directions to remove fix: NOTE: * The user must have Administrative rights in Windows, or be the Actual Root User in a UNIX environments. * FIXES MUST BE REMOVED IN THE ORDER THEY WERE APPLIED * DO NOT REMOVE A FIX UNLESS ALL FIXES APPLIED AFTER IT HAVE FIRST BEEN REMOVED * YOU MAY REAPPLY ANY REMOVED FIX Example: If your system has fix1, fix2, and fix3 applied in that order and fix2 is to be removed, fix3 must be removed first, fix2 removed, and fix3 re-applied. 1) Shutdown WebSphere Manually execute setupCmdLine.bat in Windows or . ./setupCmdLine.sh in Unix from the WebSphere instance that uninstall is being run against. 2) Start Update Installer 3) Enter the installation location of the WebSphere product you want to remove the fix. 4) Select "Uninstall maintenance package" operation. 5) Enter the file name of the maintenance package to uninstall (PKxxxxx.pak). 6) UnInstall maintenance package. 7) Restart WebSphere Directions to re-apply fix: 1) Shutdown WebSphere. 2) Follow the Fix instructions to apply the fix. 3) Restart WebSphere. Additional Information: