[
https://issues.jboss.org/browse/ISPN-3704?page=com.atlassian.jira.plugin....
]
Dan Berindei commented on ISPN-3704:
------------------------------------
Do you have a log for the Prepare/Commit command for state transfer executing remotely,
[~rvansa]? It shouldn't be possible for the coordinator to start a new rebalance
before all the nodes have confirmed that they applied all the new state. OTOH, it may be
possible that the entry was locked after the remote get, and that's what caused the
Prepare/Commit command to be replicated remotely.
StateTransfer's PutKeyValueCommand may trigger remote get
---------------------------------------------------------
Key: ISPN-3704
URL:
https://issues.jboss.org/browse/ISPN-3704
Project: Infinispan
Issue Type: Bug
Components: Distributed Cache
Affects Versions: 6.0.0.CR1
Reporter: Radim Vansa
Assignee: Dan Berindei
Priority: Critical
Labels: 620
Fix For: 6.1.0.Final
In TX mode with write skew check on, ST executing puts may trigger a remote get.
The condition in TxDistributionInterceptor.handleTxWriteCommand should probably be
switched from
{code}
if (ctx.isOriginLocal() && !skipRemoteGet || command.isConditional() ||
shouldFetchRemoteValuesForWriteSkewCheck(ctx, command))
remoteGetBeforeWrite(ctx, command, recipientGenerator);
{code}
to
{code}
if (!skipRemoteGet && (ctx.isOriginLocal() || command.isConditional() ||
shouldFetchRemoteValuesForWriteSkewCheck(ctx, command)))
remoteGetBeforeWrite(ctx, command, recipientGenerator);
{code}
EDIT:
I have also registered a situation where the Prepare/Commit command was executed remotely
from within the ST because the topology has changed during the remote get. This should be
avoided as well.
--
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