J2CA0026E due to an addSync call with an accompanying DSRA9002E may be due to transaction timeouts.
 Technote (troubleshooting)
 
Problem(Abstract)
If the transaction timeout is being reached, then it is possible that a J2CA0026E will be logged when the WAS Java Transaction Service tries to add a subsequent transaction request to the existing global transaction.
J2CA0026E: Method addSync caught
javax.transaction.RollbackException
at com.ibm.ejs.jts.jta.TransactionImpl.registerSynchronization
(TransactionImpl.java(Compiled Code))

and

DSRA9002E: ResourceException
with error code null: javax.resource.ResourceException: addSync: caught
Exception
at
com.ibm.ejs.j2c.LocalTransactionWrapper.addSync
(LocalTransactionWrapper.java(Compiled Code))
 
Cause
The Total Transaction Lifetime Timeout (transaction timeout) or the Client inactivity timeout setting is being reached for a transaction request and there are other requests associated with the transaction.

1. It could be that due to resource contention or the volume of requests, that the transaction is unable to complete within the transaction timeout that is configured.

2. Certain versions of the Oracle 9.2.0.x driver had a problem that could cause this message to be logged. This problem was resolved beginning with Oracle 9.2.0.4. This will be characterized by a javax.transaction.RollbackException during a registerSynchronization call; that is, it only occurs for an XA transaction when registering a new connection with the tx.
[9/20/04 8:48:40:572 CEST] 45a10e LocalTransact E J2CA0026E: Method
addSync caught javax.transaction.RollbackException
at com.ibm.ejs.jts.jta.TransactionImpl.registerSynchronization
(TransactionImpl.java:993)
at com.ibm.ejs.jts.jta.JTSXA.registerSynchronization(JTSXA.java:
1096)

3. It could be that the transaction is terminated on the remote server. This would likely be noted with a TRANSACTION_KILLED event and a corresponding EventAbort in the transaction manager trace. The transaction would then be rolled back. If the thread that was running this transaction simply resumes without rolling back the transaction, then this error would result. This may happen due to:
7c8e2808 TimeoutClock W CNTR0051E: Transaction has timed out due to no client activity for greater than 60 seconds. Transaction ID: (255)      
0001bba9:00000001021436fec70b7b337b936b3b13a78dacd471aad561fb[]  


4. A transaction timeout itself for which a: 
[7/26/04 8:08:30:590 CDT] 605b4ddd CoordinatorIm I WTRN0066W:   Transaction (38)                                                      0001bba9:000000012614d963b3f03c39930dfa2c0c252d84f46c13acaf06[] has timed out after 120 seconds.  
is logged may also be the cause of the J2CA0026E.

 
Resolving the problem
1. If the problem is caused by either the transaction timeout or the Client inactivity timeout, then simply increasing these timeout values should resolve the problem. Refer to the section entitled, Transaction service settings, in the WebSphere Information Center, http://publib.boulder.ibm.com/infocenter/wasinfo/v5r1/index.jsp.
This is a direct link to that section:
http://publib.boulder.ibm.com/infocenter/wasinfo/v5r1/topic/com.ibm.websphere.base.doc/info/aes/ae/udat_contranserv.html

2. If the problem is caused by the Oracle driver, then refer to this document,
../DB_Connections_Connection_Pooling/swg21109954.html
 
 
Cross Reference information
Segment Product Component Platform Version Edition
Application Servers Runtimes for Java Technology Java SDK
 
 


Document Information


Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server > Java 2 Connectivity (J2C)
Operating system(s): AIX
Software version: 5.0.2.11
Software edition:
Reference #: 1213266
IBM Group: Software Group
Modified date: Jul 29, 2005