Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-1036

NPE at transaction rollback

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 5.0.0.CR7
    • 5.0.0.BETA1
    • None
    • None

    Description

      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:

       
      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)
      

      Attachments

        Issue Links

          Activity

            People

              mircea.markus Mircea Markus (Inactive)
              sgrinove Sanne Grinovero
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: