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

Mircea Markus (JIRA) jira-events at lists.jboss.org
Wed Nov 21 07:55:21 EST 2012


     [ https://issues.jboss.org/browse/ISPN-2459?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mircea Markus updated ISPN-2459:
--------------------------------

    Fix Version/s:     (was: 5.2.0.CR1)

    
> 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
>            Priority: Critical
>             Fix For: 5.2.0.Final
>
>
> 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