[infinispan-issues] [JBoss JIRA] (ISPN-2382) Transaction boundary commands are not forwarded during state transfer
Mircea Markus (JIRA)
jira-events at lists.jboss.org
Thu Oct 11 14:14:02 EDT 2012
Mircea Markus created ISPN-2382:
-----------------------------------
Summary: Transaction boundary commands are not forwarded during state transfer
Key: ISPN-2382
URL: https://issues.jboss.org/browse/ISPN-2382
Project: Infinispan
Issue Type: Feature Request
Components: State transfer
Affects Versions: 5.2.0.Beta1
Reporter: Mircea Markus
Assignee: Mircea Markus
Priority: Critical
Fix For: 5.2.0.CR1
Two issues:
1. StateTransferInterceptor.handleTxCommand, when invoking handleTopologyAffectedCommand internally, wrongly calculates the 2nd param of the invocation
2. StateTransferInterceptor.handleTopologyAffectedCommand
This logic filters out commands that should be forwarded (e.g. late commands that happened before state transfer completed):
{code:java}
if (pendingCh != null && cmdTopologyId < localTopologyId + 1) {
ConsistentHash writeCh = cacheTopology.getWriteConsistentHash();
Set<Object> affectedKeys = getAffectedKeys(ctx, command);
Set<Address> newTargets = writeCh.locateAllOwners(affectedKeys);
newTargets.remove(rpcManager.getAddress());
if (!newTargets.isEmpty()) {
// Update the topology id to prevent cycles
command.setTopologyId(localTopologyId);
log.tracef("Forwarding command %s to new targets %s", command, newTargets);
// TODO find a way to forward the command async if it was received async
rpcManager.invokeRemotely(newTargets, command, true, false);
}
}
{code}
The if above should be removed.
--
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