[
https://issues.jboss.org/browse/ISPN-3704?page=com.atlassian.jira.plugin....
]
Radim Vansa commented on ISPN-3704:
-----------------------------------
Not directly, but the un-needed work executes RPC, which is intrinsically fragile. And the
RPC may eventually cause transaction failure which leads to inconsistency (entry loss) -
that's why I've increased the priority.
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: Mircea Markus
Priority: Critical
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