'm working with an application that access an oracle database. Sometimes objects (rows) on that database are locked by process outside my application.
我正在使用一个访问oracle数据库的应用程序。有时,数据库上的对象(行)被应用程序之外的进程锁定。
The problem I'm having is that when the transaction reaches the transaction timeout, arjuna coordinator tries to rollback the transaction but don't succeed in it
我遇到的问题是当事务到达事务超时时,arjuna协调器试图回滚事务,但是没有成功。
The stack trace is the following
堆栈跟踪如下。
09:15:42,494 WARN [InterceptorsFactory] EJBTHREE-1246: Do not use InterceptorsF
actory with a ManagedObjectAdvisor, InterceptorRegistry should be used via the b
ean container
09:16:12,287 WARN [arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.Transactio
nReaper_18] - TransactionReaper::check timeout for TX -7ffd9392:a9b:507ff0a4:97
in state RUN
09:16:12,292 WARN [arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.BasicActio
n_58] - Abort of action id -7ffd9392:a9b:507ff0a4:97 invoked while multiple thre
ads active within it.
09:16:12,294 WARN [arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.CheckedAct
ion_2] - CheckedAction::check - atomic action -7ffd9392:a9b:507ff0a4:97 aborting
with 1 threads active!
09:16:12,789 WARN [arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.Transactio
nReaper_18] - TransactionReaper::check timeout for TX -7ffd9392:a9b:507ff0a4:97
in state CANCEL
09:16:13,291 WARN [arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.Transactio
nReaper_18] - TransactionReaper::check timeout for TX -7ffd9392:a9b:507ff0a4:97
in state CANCEL_INTERRUPTED
09:16:13,293 WARN [arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.Transactio
nReaper_6] - TransactionReaper::check worker Thread[Thread-11,5,jboss] not respo
nding to interrupt when cancelling TX -7ffd9392:a9b:507ff0a4:97 -- worker marked
as zombie and TX scheduled for mark-as-rollback
09:16:13,297 WARN [arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.Transactio
nReaper_11] - TransactionReaper::check failed to mark TX -7ffd9392:a9b:507ff0a4:
97 as rollback only
I'm using jboss-5.1.0.GA, Hibernate 3.3.1.GA and Oracle 9.2.08.
我用jboss-5.1.0。GA,Hibernate 3.3.1。GA和Oracle 9.2.08。
I have done several tests and while the row is locked the rollback don't work. It doesn't matter the time that have passed since the transaction timeout. If i unlock the row after the transaction timeout, the rollback starts at that moment.
我已经做了几次测试,当行被锁定时,回滚不工作。自事务超时以来已经通过的时间并不重要。如果我在事务超时之后解锁行,那么回滚将在那个时刻启动。
I have done some research on the web but didn't find exactly the same error.
我在网上做了一些研究,但没有发现完全相同的错误。
Thanks.
谢谢。
Diego.
迭戈。