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

ISPN000136 - This remote transaction ... is already rolled back

    XMLWordPrintable

Details

    • Bug
    • Resolution: Obsolete
    • Major
    • None
    • 6.0.1.Final
    • Core
    • Hide

      The cache is configured in CacheMode.DIST_SYNC mode, with IsolationLevel.REPEATABLE_READ.

      Jgroups is using FILE_PING on the local disk.

      Start up a many nodes (16 in this case). Kill some of the nodes. Check the logs on the remaining nodes.

      Show
      The cache is configured in CacheMode.DIST_SYNC mode, with IsolationLevel.REPEATABLE_READ. Jgroups is using FILE_PING on the local disk. Start up a many nodes (16 in this case). Kill some of the nodes. Check the logs on the remaining nodes.

    Description

      Running a cluster with around 16 nodes on the same machine, when nodes are leaving the cluster (potentially dis-gracefully), the following exception can be logged multiple times by some of the remaining nodes:

      2014-03-17 15:03:34,157 ERROR glassfish 4.0 org.infinispan.interceptors.InvocationContextInterceptor _ThreadID=500;_ThreadName=remote-thread-24; ISPN000136: Execution error
      org.infinispan.transaction.xa.InvalidTransactionException: This remote transaction GlobalTransaction:<seafire-10312>:14:remote is already rolled back
      at org.infinispan.transaction.RemoteTransaction.checkIfRolledBack(RemoteTransaction.java:138)
      at org.infinispan.transaction.RemoteTransaction.putLookedUpEntry(RemoteTransaction.java:64)
      at org.infinispan.context.impl.RemoteTxInvocationContext.putLookedUpEntry(RemoteTxInvocationContext.java:77)
      at org.infinispan.container.EntryFactoryImpl.wrapInternalCacheEntryForPut(EntryFactoryImpl.java:290)
      at org.infinispan.container.EntryFactoryImpl.wrapEntryForPut(EntryFactoryImpl.java:202)
      at org.infinispan.interceptors.EntryWrappingInterceptor$EntryWrappingVisitor.visitPutKeyValueCommand(EntryWrappingInterceptor.java:475)
      at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:70)
      at org.infinispan.interceptors.EntryWrappingInterceptor.wrapEntriesForPrepare(EntryWrappingInterceptor.java:564)
      at org.infinispan.interceptors.EntryWrappingInterceptor.visitPrepareCommand(EntryWrappingInterceptor.java:95)
      at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:125)
      at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
      at org.infinispan.interceptors.locking.AbstractTxLockingInterceptor.invokeNextAndCommitIf1Pc(AbstractTxLockingInterceptor.java:78)
      at org.infinispan.interceptors.locking.OptimisticLockingInterceptor.visitPrepareCommand(OptimisticLockingInterceptor.java:87)
      at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:125)
      at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
      at org.infinispan.interceptors.NotificationInterceptor.visitPrepareCommand(NotificationInterceptor.java:36)
      at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:125)
      at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
      at org.infinispan.interceptors.TxInterceptor.invokeNextInterceptorAndVerifyTransaction(TxInterceptor.java:114)
      at org.infinispan.interceptors.TxInterceptor.visitPrepareCommand(TxInterceptor.java:101)
      at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:125)
      at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
      at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:112)
      at org.infinispan.commands.AbstractVisitor.visitPrepareCommand(AbstractVisitor.java:96)
      at org.infinispan.statetransfer.TransactionSynchronizerInterceptor.visitPrepareCommand(TransactionSynchronizerInterceptor.java:39)
      at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:125)
      at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
      at org.infinispan.statetransfer.StateTransferInterceptor.handleTopologyAffectedCommand(StateTransferInterceptor.java:263)
      at org.infinispan.statetransfer.StateTransferInterceptor.handleTxCommand(StateTransferInterceptor.java:194)
      at org.infinispan.statetransfer.StateTransferInterceptor.visitPrepareCommand(StateTransferInterceptor.java:94)
      at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:125)
      at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
      at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:112)
      at org.infinispan.commands.AbstractVisitor.visitPrepareCommand(AbstractVisitor.java:96)
      at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:125)
      at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
      at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:110)
      at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:73)
      at org.infinispan.commands.AbstractVisitor.visitPrepareCommand(AbstractVisitor.java:96)
      at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:125)
      at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
      at org.infinispan.interceptors.BatchingInterceptor.handleDefault(BatchingInterceptor.java:58)
      at org.infinispan.commands.AbstractVisitor.visitPrepareCommand(AbstractVisitor.java:96)
      at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:125)
      at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:333)
      at org.infinispan.commands.tx.PrepareCommand.perform(PrepareCommand.java:115)
      at org.infinispan.remoting.InboundInvocationHandlerImpl.handleInternal(InboundInvocationHandlerImpl.java:95)
      at org.infinispan.remoting.InboundInvocationHandlerImpl.access$000(InboundInvocationHandlerImpl.java:50)
      at org.infinispan.remoting.InboundInvocationHandlerImpl$2.run(InboundInvocationHandlerImpl.java:172)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      at java.lang.Thread.run(Thread.java:724)

      Shortly before, several JGroups warnings are logged:
      2014-03-17 15:03:31,931 WARNING glassfish 4.0 org.jgroups.protocols.pbcast.GMS _ThreadID=498;_ThreadName=ViewHandler,DOMAIN.AS.V70/reimsrpc,DOMAIN.AS.V70/reimsrpc; DOMAIN.AS.V70/reimsrpc: failed to collect all ACKs (expected=15) for view [DOMAIN.AS.V70/reimsrpc|18] after 2000ms, missing 14 ACKs from DOMAIN.AS.V70/reimsrpc, DOMAIN.AS.V70/reimsrpc, DOMAIN.AS.V70/reimsrpc, DOMAIN.AS.V70/reimsrpc, DOMAIN.AS.V70/reimsrpc, DOMAIN.AS.V70/reimsrpc, DOMAIN.AS.V70/reimsrpc, DOMAIN.AS.V70/reimsrpc, DOMAIN.AS.V70/reimsrpc, DOMAIN.AS.V70/reimsrpc, DOMAIN.AS.V70/reimsrpc, DOMAIN.AS.V70/reimsrpc, DOMAIN.AS.V70/reimsrpc, DOMAIN.AS.V70/reimsrpc

      Despite the ERROR logging, the cluster appears to continue working correctly.

      Attachments

        Activity

          People

            Unassigned Unassigned
            andrew_scully Andrew Scully (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: