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

IllegalStateException when tx context is propagated

    XMLWordPrintable

Details

    • Enhancement
    • Resolution: Done
    • Major
    • 4.2.0.ALPHA2, 4.2.0.Final
    • 4.0.0.Final, 4.1.0.Final, 4.2.0.ALPHA1
    • None
    • None

    Description

      This exception is being thrown by a remote node[see bellow]. This is caused by ctx.isInTxScope() being called even for remote nodes - this should not happen. This only happens when an exception is thrown:
      catch (Throwable t) {
      if (ctx.isInTxScope()) {
      TxInvocationContext txContext = (TxInvocationContext) ctx;
      if (txContext.isValidRunningTx())

      { txContext.getRunningTransaction().setRollbackOnly(); }

      }
      throw t;
      }
      The condition needs to be changed to: ctx.isInTxScope() and ctx.isOriginLocal()

      2010-09-09 16:22:27,402 ERROR [org.infinispan.remoting.rpc.RpcManagerImpl] (RMI TCP Connection(13)-127.0.0.3) unexpected error while replicating: java.lang.IllegalStateException: this method can only be called for locally originated transactions!
      at org.infinispan.context.impl.RemoteTxInvocationContext.getRunningTransaction(RemoteTxInvocationContext.java:28) [:4.1.0.FINAL]
      at org.infinispan.context.impl.AbstractTxInvocationContext.isValidRunningTx(AbstractTxInvocationContext.java:32) [:4.1.0.FINAL]
      at org.infinispan.interceptors.CallInterceptor.handleDefault(CallInterceptor.java:77) [:4.1.0.FINAL]
      at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:57) [:4.1.0.FINAL]
      at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:76) [:4.1.0.FINAL]
      at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) [:4.1.0.FINAL]
      at org.infinispan.interceptors.ReplicationInterceptor.handleCrudMethod(ReplicationInterceptor.java:107) [:4.1.0.FINAL]
      at org.infinispan.interceptors.ReplicationInterceptor.visitPutKeyValueCommand(ReplicationInterceptor.java:78) [:4.1.0.FINAL]
      at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:76) [:4.1.0.FINAL]
      at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) [:4.1.0.FINAL]
      at org.infinispan.interceptors.LockingInterceptor.visitPutKeyValueCommand(LockingInterceptor.java:198) [:4.1.0.FINAL]
      at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:76) [:4.1.0.FINAL]
      at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) [:4.1.0.FINAL]
      at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:132) [:4.1.0.FINAL]
      at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:57) [:4.1.0.FINAL]
      at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:76) [:4.1.0.FINAL]
      at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) [:4.1.0.FINAL]
      at org.infinispan.interceptors.TxInterceptor.visitPrepareCommand(TxInterceptor.java:82) [:4.1.0.FINAL]
      at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:120) [:4.1.0.FINAL]
      at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) [:4.1.0.FINAL]
      at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:132) [:4.1.0.FINAL]
      at org.infinispan.commands.AbstractVisitor.visitPrepareCommand(AbstractVisitor.java:105) [:4.1.0.FINAL]
      at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:120) [:4.1.0.FINAL]
      at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) [:4.1.0.FINAL]
      at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:57) [:4.1.0.FINAL]
      at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:38) [:4.1.0.FINAL]
      at org.infinispan.commands.AbstractVisitor.visitPrepareCommand(AbstractVisitor.java:105) [:4.1.0.FINAL]
      at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:120) [:4.1.0.FINAL]
      at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) [:4.1.0.FINAL]
      at org.infinispan.interceptors.BatchingInterceptor.handleDefault(BatchingInterceptor.java:60) [:4.1.0.FINAL]
      at org.infinispan.commands.AbstractVisitor.visitPrepareCommand(AbstractVisitor.java:105) [:4.1.0.FINAL]
      at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:120) [:4.1.0.FINAL]
      at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:273) [:4.1.0.FINAL]
      at org.infinispan.commands.tx.PrepareCommand.perform(PrepareCommand.java:111) [:4.1.0.FINAL]
      at org.infinispan.remoting.InboundInvocationHandlerImpl.handle(InboundInvocationHandlerImpl.java:76) [:4.1.0.FINAL]
      at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.executeCommand(CommandAwareRpcDispatcher.java:176) [:4.1.0.FINAL]
      at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.handle(CommandAwareRpcDispatcher.java:148) [:4.1.0.FINAL]
      at org.jgroups.blocks.RequestCorrelator.handleRequest(RequestCorrelator.java:575) [:2.10.0.GA]
      at org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:486) [:2.10.0.GA]
      at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:362) [:2.10.0.GA]
      at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:771) [:2.10.0.GA]
      at org.jgroups.blocks.mux.MuxUpHandler.up(MuxUpHandler.java:136) [:2.10.0.GA]
      at org.jgroups.JChannel.up(JChannel.java:1453) [:2.10.0.GA]
      at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:887) [:2.10.0.GA]
      at org.jgroups.protocols.pbcast.FLUSH.up(FLUSH.java:483) [:2.10.0.GA]
      at org.jgroups.protocols.pbcast.STREAMING_STATE_TRANSFER.up(STREAMING_STATE_TRANSFER.java:265) [:2.10.0.GA]
      at org.jgroups.protocols.FRAG2.up(FRAG2.java:188) [:2.10.0.GA]
      at org.jgroups.protocols.FC.up(FC.java:494) [:2.10.0.GA]
      at org.jgroups.protocols.pbcast.GMS.up(GMS.java:888) [:2.10.0.GA]
      at org.jgroups.protocols.VIEW_SYNC.up(VIEW_SYNC.java:171) [:2.10.0.GA]
      at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:234) [:2.10.0.GA]
      at org.jgroups.protocols.UNICAST.up(UNICAST.java:309) [:2.10.0.GA]
      at org.jgroups.protocols.pbcast.NAKACK.handleMessage(NAKACK.java:813) [:2.10.0.GA]
      at org.jgroups.protocols.pbcast.NAKACK.up(NAKACK.java:671) [:2.10.0.GA]
      at org.jgroups.protocols.BARRIER.up(BARRIER.java:120) [:2.10.0.GA]
      at org.jgroups.protocols.VERIFY_SUSPECT.up(VERIFY_SUSPECT.java:132) [:2.10.0.GA]
      at org.jgroups.protocols.FD.up(FD.java:266) [:2.10.0.GA]
      at org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:270) [:2.10.0.GA]
      at org.jgroups.protocols.MERGE2.up(MERGE2.java:210) [:2.10.0.GA]
      at org.jgroups.protocols.Discovery.up(Discovery.java:281) [:2.10.0.GA]
      at org.jgroups.protocols.PING.up(PING.java:67) [:2.10.0.GA]
      at org.jgroups.stack.Protocol.up(Protocol.java:371) [:2.10.0.GA]
      at org.jgroups.protocols.TP.passMessageUp(TP.java:1009) [:2.10.0.GA]
      at org.jgroups.protocols.TP.access$100(TP.java:56) [:2.10.0.GA]
      at org.jgroups.protocols.TP$IncomingPacket.handleMyMessage(TP.java:1549) [:2.10.0.GA]
      at org.jgroups.protocols.TP$IncomingPacket.run(TP.java:1531) [:2.10.0.GA]
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [:1.6.0_18]
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [:1.6.0_18]
      at java.lang.Thread.run(Thread.java:636) [:1.6.0_18]

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: