]
Mircea Markus commented on ISPN-1256:
-------------------------------------
@Sanne, yes you are right. The rollback happens in the catch of another rollback call, so
it is possible for tx to be null there, hence the initial guard makes sense.
Together with the prev. fix commit I've also improved the logging to show why the
rollback failed in the first place. It was caused by the fact that rollback is called by
the TM on a stale XAResource: a resource that it retrieved from a cache that has been
stopped in between. I've added another check for that, and hopefully this is fixed for
good now :-)
NPE at transaction rollback (again)
-----------------------------------
Key: ISPN-1256
URL:
https://issues.jboss.org/browse/ISPN-1256
Project: Infinispan
Issue Type: Bug
Reporter: Sanne Grinovero
Assignee: Mircea Markus
Priority: Critical
Fix For: 5.0.0.CR8
These stacktraces can be found very often in the continuous integration logs:
{code}2011-07-20 05:54:39,659 WARN [arjuna] (Transaction Reaper Worker 0) ARJUNA12091:
Top-level abort of action 0:ffff0aca9676:8727:4e26a548:2ce received
TwoPhaseOutcome.FINISH_ERROR from com.arjuna.ats.arjuna.coordinator.AbstractRecord
2011-07-20 05:54:39,659 WARN [arjuna] (Transaction Reaper Worker 0) ARJUNA12121:
TransactionReaper::doCancellations worker Thread[Transaction Reaper Worker 0,5,main]
successfully canceled TX 0:ffff0aca9676:8727:4e26a548:2ce
2011-07-20 05:54:39,659 WARN [jta] (Transaction Reaper Worker 0) ARJUNA16045: attempted
rollback of < formatId=131076, gtrid_length=29, bqual_length=28,
tx_uid=0:ffff0aca9676:8727:4e26a548:2d2, node_name=1,
branch_uid=0:ffff0aca9676:8727:4e26a548:2d3, eis_name=unknown eis name >
(TransactionXaAdapter{localTransaction=LocalXaTransaction{xid=< formatId=131076,
gtrid_length=29, bqual_length=28, tx_uid=0:ffff0aca9676:8727:4e26a548:2d2, node_name=1,
branch_uid=0:ffff0aca9676:8727:4e26a548:2d3, eis_name=unknown eis name >}
LocalTransaction{remoteLockedNodes=[MainOwnerChangedTest-NodeA-55288],
isMarkedForRollback=false, transaction=TransactionImple < ac, BasicAction:
0:ffff0aca9676:8727:4e26a548:2d2 status: ActionStatus.ABORTING >}
org.infinispan.transaction.xa.LocalXaTransaction@8b0c6a04}) failed with exception code -
java.lang.NullPointerException
at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:768)
at
org.infinispan.transaction.TransactionTable.failureCompletingTransaction(TransactionTable.java:195)
at
org.infinispan.transaction.TransactionCoordinator.rollback(TransactionCoordinator.java:159)
at
org.infinispan.transaction.xa.TransactionXaAdapter.rollback(TransactionXaAdapter.java:135)
at
com.arjuna.ats.internal.jta.resources.arjunacore.XAResourceRecord.topLevelAbort(XAResourceRecord.java:337)
at com.arjuna.ats.arjuna.coordinator.BasicAction.doAbort(BasicAction.java:2869)
at com.arjuna.ats.arjuna.coordinator.BasicAction.doAbort(BasicAction.java:2848)
at com.arjuna.ats.arjuna.coordinator.BasicAction.Abort(BasicAction.java:1613)
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)
{code}
See
https://infinispan.ci.cloudbees.com/job/Infinispan-master-JDK6-tcp/145/co...
and search for "ConcurrentHashMap.java:768"
--
This message is automatically generated by JIRA.
For more information on JIRA, see: