[
https://issues.jboss.org/browse/ISPN-8204?page=com.atlassian.jira.plugin....
]
Radim Vansa commented on ISPN-8204:
-----------------------------------
2. Here you speak about IGNORE_RETURN_VALUES, not conditionality. Remove returns previous
value, so it has to do the remote fetch as well. Nothing would change here.
3. As I've said, SCL is going to be respected (well actually WSC ignores it, but
it's another matter), and IRV as well - the previous value won't be sent to
originator over the wire.
Any comments on the semantics change in transaction?
Remove should be conditional
----------------------------
Key: ISPN-8204
URL:
https://issues.jboss.org/browse/ISPN-8204
Project: Infinispan
Issue Type: Bug
Components: Core
Affects Versions: 9.1.0.Final
Reporter: Radim Vansa
Assignee: Radim Vansa
If {{cache.remove(k)}} is called on non-existent key, it should become a no-op, marking
the command as unsuccessful, not writing the cache store and not replicating the change to
backup owners. That makes the command effectively conditional (as it checks previous
value), in the same way as {{cache.replace(k, newValue)}} is.
While I think that this is the correct behaviour, it's a breaking change for
transactions. Some transactions may become read-only and there are multiple tests in the
testsuite that would be broken by this.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)