Atomikos Forum |
|
We use atomikos 3.3.1 with spring mdp, hibernate, sql server 2005 and tibco 4.4. We are running into a problem after a several days of normal processing we are getting the following error:
Connection accessed by transaction service_tm2770101110 is already in use in another transaction: sprint_service_tm1394501100 Non-XA connections are not compatible with nested transaction use.; nested exception is com.atomikos.jdbc.AtomikosSQLException: Connection accessed by transaction service_tm2770101110 is already in use in another transaction: sprint_service_tm1394501100 Non-XA connections are not compatible with nested transaction use. We are not using nested transactions and the configuration is setup exactly like it is the documentation. I did try to upgrade to 3.5.2 but then the spring mdps stopped working. Has anyone else seen this problem? If so how did you solve it? Thanks in advance, Umesh
Here is the glimpse of our problem. The nested transactions get cascaded after we get the following error from the atomikos log
----- 09-02-17 21:11:34,181 [main] QUEUE_BROKER: refreshed XAResource 09-02-18 01:08:00,683 [Atomikos:140] Rollback of timedout ACTIVE coordinator ! 09-02-18 01:08:00,855 [Atomikos:140] Error in timeout of ACTIVE state: Error in rollback: null for coordinator com.atomikos.spring.arserver2383700004 ----- So looks like one connection has the problem in rolling back. Do you have any idea why this happens? Once we get into this, the following error we encounter repeatedly ---- ERROR (552): Failure during SQL operation to the database; ERROR (552): Failure during SQL operation to the database; Exception Description: Error rolling back externally managed transaction Internal Exception: java.lang.IllegalStateException: Wrong state for addParticipant: ABORTING in coordinator com.atomikos.spring.arserver2383700004 ---- My question is two fold 1) Why this connection gets to the another thread w/o work being completed. 2) How to get around this in our code, better exception handling etc? Thx Ajay |