Atomikos Forum

NullPointerException in XAResourceTransaction

Hi guys,

we're using TransactionEssentials 3.6.5 with Spring 3.0 and Hibernate 3.5.1.
Everything was started fine until yesterday. Then we started to get this exception:

09:59:18,656 [Atomikos:1453] WARN  atomikos - Unexpected error in commit
java.lang.NullPointerException
        at com.atomikos.datasource.xa.XAResourceTransaction.forceRefreshXAConnection(XAResourceTransaction.java:482)
        at com.atomikos.datasource.xa.XAResourceTransaction.testOrRefreshXAResourceFor2PC(XAResourceTransaction.java:461)
        at com.atomikos.datasource.xa.XAResourceTransaction.commit(XAResourceTransaction.java:962)
        at com.atomikos.icatch.imp.CommitMessage.send(CommitMessage.java:94)
        at com.atomikos.icatch.imp.PropagationMessage.submit(PropagationMessage.java:86)
        at com.atomikos.icatch.imp.Propagator$PropagatorThread.run(Propagator.java:62)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:636)

We get the exception exactly every 10 seconds, and we also get this log every 50s:

09:58:38,459 [Atomikos:3] WARN  atomikos - Local heuristic termination of coordinator 10.226.7.207.tm0001800001 with state HEUR_HAZARD

Did somebody already encountered this problem?

We don't have a task running every 10s. But maybe TransactionEssentials does?
Philippe Frangioni Send private email
Thursday, September 23, 2010
 
 
Looks like you did something like this:

1. shutdown
2. rename or remove a resource (connector JMS or JDBC) in your config
3. restart

Correct? If so, then you have a pending transaction for the removed resource. The recovery is trying to get it to end, but can't find the resource. You could try the JMX console to terminate the transaction manually.

HTH
Guy Pardon Send private email
Friday, September 24, 2010
 
 
Hi Guy,
thanks for the answer.

We didn't do what you described, but we did do permission changes in the DB. It probably had the same effect (leave a pending transaction).
In the meantime, we had to restart the server, drop the DBs and the logs, so I guess we won't know for sure.
Philippe Frangioni Send private email
Tuesday, September 28, 2010
 
 
Hi,

If you change the user/permissions of the datasource then it might not be able to retrieve/recover prior transactions. That could indeed explain.

Best
Guy Pardon Send private email
Thursday, September 30, 2010
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics