APAR status
Closed as program error.
Error description
If database connection is lost in the middle of transaction, the rollback causes the transaction to be stuck in wait state. Even if the database connection is restored, the transaction never recovers. This causes eventual database log file to fillup. The errors the logs. Received the following type of message in the logs: XATransaction E J2CA0026E: Method addSync caught javax.transaction.RollbackException: Transaction rolled back This indicates it is a scheduled task. This scheduled task fails because the application code attempts to enlist a connection in a Transaction. The application calls getConnection() but that fails because the transaction has already been rolled back: com.ibm.ejs.j2c.ConnectionManager.involveMCInTran But, the transaction has already been rolled back. 000002e6 JCRCFLLoggerI E com.ibm.icm.ts.tss.JCRCFLLoggerImpl com.ibm.icm.ts.tss.ls.LibraryServerImpl.removeExpiredIndexClaim s [java.lang.ThreadGroup[name=icmciWorkManager: icmjcrear,maxpri=10]]: Error removing expired index claims from the database. java.sql.SQLException: ConnectionWrapper.getConnection() at com.ibm.icm.ts.tss.ls.BaseDBImpl$ConnectionWrapper .getConnection (BaseDBI mpl.java(Compiled Code)) at com.ibm.icm.ts.tss.ls.BaseDBImpl.removeExpiredIndexClaims(BaseD BImpl.jav a(Compiled Code)) at com.ibm.icm.ts.tss.ls.LibraryServerImpl.removeExpiredIndexClaim s(Library ServerImpl.java(Compiled Code)) at com.ibm.icm.ts.tss.ls.LibraryServerImpl.state(LibraryServerImpl .java(Com piled Code)) at com.ibm.icm.ts.tss.app.Janitor.cleanupLibraryServer(Janitor.jav a(Compile d Code)) at com.ibm.icm.ts.tss.app.JanitorService.cleanupLibraryServer(Jani torServic e.java(Inlined Compiled Code)) at com.ibm.icm.ts.tss.app.JanitorService.access$000(JanitorService .java(Inl ined Compiled Code)) at com.ibm.icm.ts.tss.app.JanitorService$Notifiee.onEvent(JanitorS ervice.ja va(Compiled Code)) at com.ibm.icm.ts.act.ActivityImpl$ManagerImpl$ActivityRunner.runA ctivity(A ctivityImpl.java(Compiled Code)) at com.ibm.icm.ts.act.ActivityImpl$ManagerImpl$ActivityRunner.run( ActivityI mpl.java(Compiled Code)) at com.ibm.hrl.workmanager.RunnableWrapper.run(RunnableWrapper .java :44) at com.ibm.hrl.workmanager.impl.was.WasWork.run(WasWork.java:75) at com.ibm.ws.asynchbeans.J2EEContext$RunProxy.run(J2EEContext.jav a:258) at java.security.AccessController.doPrivileged1(Native Method) at java.security.AccessController.doPrivileged(AccessController .jav a(Compil ed Code)) at javax.security.auth.Subject.doAs(Subject.java:477) at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject .java:11 8) at com.ibm.ws.asynchbeans.J2EEContext$DoAsProxy.run(J2EEContext .jav a:325) at java.security.AccessController.doPrivileged1(Native Method) at java.security.AccessController.doPrivileged(AccessController .jav a:351) at com.ibm.ws.asynchbeans.J2EEContext.run(J2EEContext.java:709) at com.ibm.ws.asynchbeans.WorkWithExecutionContextImpl .go(WorkWithE xecution ContextImpl.java:218) at com.ibm.ws.asynchbeans.ABWorkItemImpl.run(ABWorkItemImpl .java:15 4) at java.lang.Thread.run(Thread.java:571) Caused by: java.sql.SQLException: addSync: caught Exception at com.ibm.ws.rsadapter.AdapterUtil.toSQLException(AdapterUtil.jav a:1160) at com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbc DataSourc e.java(Compiled Code)) at com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbc DataSourc e.java(Compiled Code)) at com.ibm.icm.ci.Datastore$DataSource.getConnection(Datastore.jav a(Compile d Code)) ... 24 more Caused by: javax.resource.ResourceException: addSync: caught Exception at com.ibm.ejs.j2c.XATransactionWrapper.addSync(XATransactionWrapp er.java(C ompiled Code))
Local fix
use db2 command to force stop of transaction
Problem summary
If database connection is lost in the middle of transaction, the rollback causes the transaction to be stuck in wait state. Even if the database connection is restored, the transaction never recovers. This causes eventual database log file to fillup. The errors the logs. Received the following type of message in the logs: XATransaction E J2CA0026E: Method addSync caught javax.transaction.RollbackException: Transaction rolled back This indicates it is a scheduled task. This scheduled task fails because the application code attempts to enlist a connection in a Transaction. The application calls getConnection() but that fails because the transaction has already been rolled back: com.ibm.ejs.j2c.ConnectionManager.involveMCInTran But, the transaction has already been rolled back. 000002e6 JCRCFLLoggerI E com.ibm.icm.ts.tss.JCRCFLLoggerImpl com.ibm.icm.ts.tss.ls.LibraryServerImpl.removeExpiredIndexClaim s [java.lang.ThreadGroup[name=icmciWorkManager: icmjcrear,maxpri=10]]: Error removing expired index claims from the database. java.sql.SQLException: ConnectionWrapper.getConnection() at com.ibm.icm.ts.tss.ls.BaseDBImpl$ConnectionWrapper .getConnection (BaseDBI mpl.java(Compiled Code)) at com.ibm.icm.ts.tss.ls.BaseDBImpl.removeExpiredIndexClaims(BaseD BImpl.jav a(Compiled Code)) at com.ibm.icm.ts.tss.ls.LibraryServerImpl.removeExpiredIndexClaim s(Library ServerImpl.java(Compiled Code)) at com.ibm.icm.ts.tss.ls.LibraryServerImpl.state(LibraryServerImpl .java(Com piled Code)) at com.ibm.icm.ts.tss.app.Janitor.cleanupLibraryServer(Janitor.jav a(Compile d Code)) at com.ibm.icm.ts.tss.app.JanitorService.cleanupLibraryServer(Jani torServic e.java(Inlined Compiled Code)) at com.ibm.icm.ts.tss.app.JanitorService.access$000(JanitorService .java(Inl ined Compiled Code)) at com.ibm.icm.ts.tss.app.JanitorService$Notifiee.onEvent(JanitorS ervice.ja va(Compiled Code)) at com.ibm.icm.ts.act.ActivityImpl$ManagerImpl$ActivityRunner.runA ctivity(A ctivityImpl.java(Compiled Code)) at com.ibm.icm.ts.act.ActivityImpl$ManagerImpl$ActivityRunner.run( ActivityI mpl.java(Compiled Code)) at com.ibm.hrl.workmanager.RunnableWrapper.run(RunnableWrapper .java :44) at com.ibm.hrl.workmanager.impl.was.WasWork.run(WasWork.java:75) at com.ibm.ws.asynchbeans.J2EEContext$RunProxy.run(J2EEContext.jav a:258) at java.security.AccessController.doPrivileged1(Native Method) at java.security.AccessController.doPrivileged(AccessController .jav a(Compil ed Code)) at javax.security.auth.Subject.doAs(Subject.java:477) at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject .java:11 8) at com.ibm.ws.asynchbeans.J2EEContext$DoAsProxy.run(J2EEContext .jav a:325) at java.security.AccessController.doPrivileged1(Native Method) at java.security.AccessController.doPrivileged(AccessController .jav a:351) at com.ibm.ws.asynchbeans.J2EEContext.run(J2EEContext.java:709) at com.ibm.ws.asynchbeans.WorkWithExecutionContextImpl .go(WorkWithE xecution ContextImpl.java:218) at com.ibm.ws.asynchbeans.ABWorkItemImpl.run(ABWorkItemImpl .java:15 4) at java.lang.Thread.run(Thread.java:571) Caused by: java.sql.SQLException: addSync: caught Exception at com.ibm.ws.rsadapter.AdapterUtil.toSQLException(AdapterUtil.jav a:1160) at com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbc DataSourc e.java(Compiled Code)) at com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbc DataSourc e.java(Compiled Code)) at com.ibm.icm.ci.Datastore$DataSource.getConnection(Datastore.jav a(Compile d Code)) ... 24 more Caused by: javax.resource.ResourceException: addSync: caught Exception at com.ibm.ejs.j2c.XATransactionWrapper.addSync(XATransactionWrapp er.java(C ompiled Code))
Problem conclusion
PM43516 ======= Problem Description: IF DATABASE CONNECTION IS LOST DURING TRANSACTION, THE ROLLBACK CAUSES THE TRANSACTION TO BE STUCK IN WAIT STATE INDEFINITELY Problem Solution: PM43516 contains code changes. Affected Users: All portal users. Pre-Requisite(s): Portal Version: 6.0.1.1 Portal Fixes: PM06844 Installation Steps: NOTE: YOU MUST FIRST DOWNLOAD THE UPDATE INSTALLER TOOL IN ORDER TO INSTALL A FIX. The WebSphere Portal Update Installer (PUI) can be downloaded from the following link: http://www.ibm.com/support/docview .wss?rs=688&uid=swg24006942 *Reminder: the version of PUI used varies based on the version of WebSphere Portal. Ensure the correct version is in use.* Refer to the "Maintaining the cluster" topic in the 6.0 InfoCenter (http://publib.boulder.ibm.com/infocenter/wpdoc/v6r0/index .jsp?topic=/com.ibm.wp.ent.doc/wpf/clus_maint.html) for additional information on installing or uninstalling interim fixes in clustered environments while maintaining continuous availability of your portal. 1. Stop the WebSphere Portal server 2. Apply the PM43516.jar using the PUI (Portal update installer). Refer to the PUI readme for further information on using the PUI. 3. Restart the WebSphere Portal server. Uninstall: NOTE: 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. Use the Portal Update Installer to uninstall the fix: 1. Shutdown WebSphere Portal. 2. Follow the instructions that are packaged with the Portal Update Installer on how to uninstall a fix. 3. Restart WebSphere Portal.
Temporary fix
Comments
APAR Information
APAR number
PM43516
Reported component name
WEBSPHERE PORTA
Reported component ID
5724E7600
Reported release
601
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2011-07-12
Closed date
2011-08-12
Last modified date
2011-08-12
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
WEBSPHERE PORTA
Fixed component ID
5724E7600
Applicable component levels
R60E PSY
UP
R61A PSY
UP
R61B PSY
UP
R61C PSY
UP
R610 PSY
UP
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSHRKX","label":"WebSphere Portal"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.0.1","Line of Business":{"code":"LOB31","label":"WCE Watson Marketing and Commerce"}}]
Document Information
Modified date:
21 December 2021