[infinispan-issues] [JBoss JIRA] (ISPN-2459) Rollback not preceded by Prepare sent to remote site

Radim Vansa (JIRA) jira-events at lists.jboss.org
Wed Oct 31 10:06:18 EDT 2012


Radim Vansa created ISPN-2459:
---------------------------------

             Summary: Rollback not preceded by Prepare sent to remote site
                 Key: ISPN-2459
                 URL: https://issues.jboss.org/browse/ISPN-2459
             Project: Infinispan
          Issue Type: Bug
          Components: Cross-Site Replication, Transactions
    Affects Versions: 5.2.0.Beta3
            Reporter: Radim Vansa
            Assignee: Mircea Markus


When a {{TransactionManager.rollback()}} is called under optimistic locking, the {{RollbackCommand}} is sent to the remote site with backup cache. This makes no sense as there are no changes to roll back, and furthermore, the command fails in the remote site as the transaction which is rolled back is not known:

{code}
05:37:00,727 WARN  [org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher] (Incoming-2,global,_edg-perf01-58034:LON) Problems invoking command SingleRpcCommand{cacheName='nycCache', command=RollbackCommand {gtx=GlobalTransaction:<c25cba86-1e90-e190-b101-155e93063c9c[T]>:5:local, cacheName='nycCache', topologyId=-1}}
org.infinispan.CacheException: Couldn't find a local transaction corresponding to remote transaction GlobalTransaction:<c25cba86-1e90-e190-b101-155e93063c9c[T]>:5:local
        at org.infinispan.xsite.BackupReceiver$BackupCacheUpdater.completeTransaction(BackupReceiver.java:187)
        at org.infinispan.xsite.BackupReceiver$BackupCacheUpdater.visitRollbackCommand(BackupReceiver.java:178)
        at org.infinispan.commands.tx.RollbackCommand.acceptVisitor(RollbackCommand.java:61)
        at org.infinispan.xsite.BackupReceiver.handleRemoteCommand(BackupReceiver.java:76)
        at org.infinispan.xsite.BackupReceiverRepositoryImpl.handleRemoteCommand(BackupReceiverRepositoryImpl.java:60)
        at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.executeCommandFromRemoteSite(CommandAwareRpcDispatcher.java:240)
        at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.handle(CommandAwareRpcDispatcher.java:217)
        at org.jgroups.blocks.RequestCorrelator.handleRequest(RequestCorrelator.java:483)
        at org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:390)
        at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:248)
        at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:604)
        at org.jgroups.JChannel.up(JChannel.java:670)
        at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:1020)
        at org.jgroups.protocols.relay.RELAY2.deliver(RELAY2.java:420)
        at org.jgroups.protocols.relay.RELAY2.route(RELAY2.java:316)
        at org.jgroups.protocols.relay.RELAY2.handleMessage(RELAY2.java:292)
        at org.jgroups.protocols.relay.RELAY2.handleRelayMessage(RELAY2.java:272)
        at org.jgroups.protocols.relay.Relayer$Bridge.receive(Relayer.java:214)
        at org.jgroups.JChannel.invokeCallback(JChannel.java:712)
        at org.jgroups.JChannel.up(JChannel.java:673)
        at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:1020)
        at org.jgroups.protocols.RSVP.up(RSVP.java:188)
        at org.jgroups.protocols.FRAG2.up(FRAG2.java:181)
        at org.jgroups.protocols.FlowControl.up(FlowControl.java:418)
        at org.jgroups.protocols.FlowControl.up(FlowControl.java:400)
        at org.jgroups.protocols.pbcast.GMS.up(GMS.java:896)
        at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:244)
        at org.jgroups.protocols.UNICAST2.handleDataReceived(UNICAST2.java:769)
        at org.jgroups.protocols.UNICAST2.up(UNICAST2.java:414)
        at org.jgroups.protocols.pbcast.NAKACK2.up(NAKACK2.java:601)
        at org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:288)
        at org.jgroups.protocols.Discovery.up(Discovery.java:359)
        at org.jgroups.protocols.TP.passMessageUp(TP.java:1293)
        at org.jgroups.protocols.TP$IncomingPacket.handleMyMessage(TP.java:1856)
        at org.jgroups.protocols.TP$IncomingPacket.run(TP.java:1829)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
{code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the infinispan-issues mailing list