Alex Rivera | Logout

Arjuna JTA transaction rollbacked unexpectedly

Asked 2012-03-29T12:48:57.127
10

When I check JBoss logs I see a lots of those errors

2012-03-29 12:01:27,358 WARN  @ [com.arjuna.ats.jta.logging.loggerI18N] [com.arjuna.ats.internal.jta.resources.arjunacore.norecoveryxa] [com.arjuna.ats.internal.jta.resources.arjunacore.norecoveryxa] Could not find new XAResource to use for recovering non-serializable XAResource < 131075, 32, 30, 1--53e2af7c:eff6:4ec11bf7:2e1da4-53e2af7c:eff6:4ec11bf7:2e263d                                                                   >
2012-03-29 12:01:27,398 WARN  @ [com.arjuna.ats.jta.logging.loggerI18N] [com.arjuna.ats.internal.jta.resources.arjunacore.norecoveryxa] [com.arjuna.ats.internal.jta.resources.arjunacore.norecoveryxa] Could not find new XAResource to use for recovering non-serializable XAResource < 131075, 31, 29, 1--53e2af7c:d397:4e8c1b0e:25b6d-53e2af7c:d397:4e8c1b0e:29d09                                                                     >

Then, when I try to send a JMS message I see this error:

2012-03-29 12:02:43,778 WARN  @ [com.arjuna.ats.jta.logging.loggerI18N] [com.arjuna.ats.internal.jta.resources.arjunacore.opcerror] [com.arjuna.ats.internal.jta.resources.arjunacore.opcerror] XAResourceRecord.commit_one_phase caught: java.lang.IllegalMonitorStateException
2012-03-29 12:02:43,778 WARN  @ [org.springframework.jms.listener.DefaultMessageListenerContainer] Setup of JMS message listener invoker failed for destination 'queue/request' - trying to recover. Cause: JTA transaction unexpectedly rolled back (maybe due to a timeout); nested exception is javax.transaction.RollbackException: [com.arjuna.ats.internal.jta.transaction.arjunacore.commitwhenaborted] [com.arjuna.ats.internal.jta.transaction.arjunacore.commitwhenaborted] Can't commit because the transaction is in aborted state

I suspect the rollback to be a consequence of the previous error. Am I right ? what could cause the transaction to remain in an aborted state like th

Edit
Report

1 Answer

2

I have seen similar errors on JBoss 5.1 (at least the second one which refers to a timeout)

We did not find the actual cause but it is highly likely that it is caused due to a long running transaction that gets "reaped"

The reason we came to this conclusion is that we saw this at times of high load and some operations were taking a long time to complete.

We use PostgreSQL and there were a lot of connections "waiting in transaction" which get cleared after the reaping. Check the transaction timeout in your configuration and set it to higher value to see if it alleviates the problem.

https://community.jboss.org/wiki/TransactionTimeout covers how to manage this setting.

answered 2012-10-31T07:20:14.387

Your Answer