NPE at transaction rollback
---------------------------
Key: ISPN-1036
URL:
https://issues.jboss.org/browse/ISPN-1036
Project: Infinispan
Issue Type: Bug
Affects Versions: 5.0.0.BETA1
Reporter: Sanne Grinovero
Assignee: Mircea Markus
Fix For: 5.0.0.BETA2
I'm not sure how it happened or how to reproduce it, but I think it might make sense
to inspect the code and consider that "TransactionTable.getLocalTransaction"
might return null.
I think it timed out because I was having a breackpoit during debug, I found this
stacktrace later in the logs:
{noformat}
12:43:09,548 INFO SessionFactoryImpl:927 - closing
12:43:30,047 WARN arjuna:471 - ARJUNA-12117 TransactionReaper::check timeout for TX
0:ffff7f000001:e41d:4d9da322:6 in state RUN
12:43:30,047 WARN arjuna:387 - ARJUNA-12095 Abort of action id
0:ffff7f000001:e41d:4d9da322:6 invoked while multiple threads active within it.
12:43:30,048 WARN arjuna:435 - ARJUNA-12108 CheckedAction::check - atomic action
0:ffff7f000001:e41d:4d9da322:6 aborting with 1 threads active!
12:43:30,049 ERROR TransactionCoordinator:125 - Exception while rollback
java.lang.NullPointerException
at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:768)
at
org.infinispan.transaction.TransactionTable.getLocalTransaction(TransactionTable.java:329)
at
org.infinispan.interceptors.InvocationContextInterceptor.stoppingAndNotAllowed(InvocationContextInterceptor.java:130)
at
org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:80)
at
org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:62)
at
org.infinispan.commands.AbstractVisitor.visitRollbackCommand(AbstractVisitor.java:111)
at org.infinispan.commands.tx.RollbackCommand.acceptVisitor(RollbackCommand.java:47)
at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
at
org.infinispan.interceptors.BatchingInterceptor.handleDefault(BatchingInterceptor.java:76)
at
org.infinispan.commands.AbstractVisitor.visitRollbackCommand(AbstractVisitor.java:111)
at org.infinispan.commands.tx.RollbackCommand.acceptVisitor(RollbackCommand.java:47)
at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:273)
at
org.infinispan.transaction.TransactionCoordinator.rollback(TransactionCoordinator.java:123)
at
org.infinispan.transaction.xa.TransactionXaAdapter.rollback(TransactionXaAdapter.java:90)
at
com.arjuna.ats.internal.jta.resources.arjunacore.XAResourceRecord.topLevelAbort(XAResourceRecord.java:336)
at com.arjuna.ats.arjuna.coordinator.BasicAction.doAbort(BasicAction.java:2902)
at com.arjuna.ats.arjuna.coordinator.BasicAction.doAbort(BasicAction.java:2881)
at com.arjuna.ats.arjuna.coordinator.BasicAction.Abort(BasicAction.java:1602)
at
com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.cancel(TwoPhaseCoordinator.java:119)
at com.arjuna.ats.arjuna.AtomicAction.cancel(AtomicAction.java:212)
at
com.arjuna.ats.arjuna.coordinator.TransactionReaper.doCancellations(TransactionReaper.java:367)
at
com.arjuna.ats.internal.arjuna.coordinator.ReaperWorkerThread.run(ReaperWorkerThread.java:79)
12:43:30,053 WARN jta:193 - ARJUNA-16045 attempted rollback of < formatId=131076,
gtrid_length=29, bqual_length=28, tx_uid=0:ffff7f000001:e41d:4d9da322:6, node_name=1,
branch_uid=0:ffff7f000001:e41d:4d9da322:8, eis_name=unknown eis name >
(TransactionXaAdapter{localTransaction=LocalXaTransaction{xid=< formatId=131076,
gtrid_length=29, bqual_length=28, tx_uid=0:ffff7f000001:e41d:4d9da322:6, node_name=1,
branch_uid=0:ffff7f000001:e41d:4d9da322:8, eis_name=unknown eis name >}
LocalTransaction{remoteLockedNodes=null, isMarkedForRollback=false,
transaction=TransactionImple < ac, BasicAction: 0:ffff7f000001:e41d:4d9da322:6 status:
ActionStatus.ABORTING >} org.infinispan.transaction.xa.LocalXaTransaction@329d4738})
failed with exception code XAException.XA_HEURHAZ
javax.transaction.xa.XAException
at
org.infinispan.transaction.TransactionCoordinator.rollback(TransactionCoordinator.java:126)
at
org.infinispan.transaction.xa.TransactionXaAdapter.rollback(TransactionXaAdapter.java:90)
at
com.arjuna.ats.internal.jta.resources.arjunacore.XAResourceRecord.topLevelAbort(XAResourceRecord.java:336)
at com.arjuna.ats.arjuna.coordinator.BasicAction.doAbort(BasicAction.java:2902)
at com.arjuna.ats.arjuna.coordinator.BasicAction.doAbort(BasicAction.java:2881)
at com.arjuna.ats.arjuna.coordinator.BasicAction.Abort(BasicAction.java:1602)
at
com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.cancel(TwoPhaseCoordinator.java:119)
at com.arjuna.ats.arjuna.AtomicAction.cancel(AtomicAction.java:212)
at
com.arjuna.ats.arjuna.coordinator.TransactionReaper.doCancellations(TransactionReaper.java:367)
at
com.arjuna.ats.internal.arjuna.coordinator.ReaperWorkerThread.run(ReaperWorkerThread.java:79)
{noformat}
--
This message is automatically generated by JIRA.
For more information on JIRA, see:
http://www.atlassian.com/software/jira