]
Dan Berindei commented on ISPN-5665:
------------------------------------
Note that {{PutMapCommand}} does return a map of the previous values, but it doesn't
force the loading of values from stores, so those previous values are not reliable.
Query should not rely on the results of return values of write
commands
-----------------------------------------------------------------------
Key: ISPN-5665
URL:
https://issues.jboss.org/browse/ISPN-5665
Project: Infinispan
Issue Type: Bug
Components: Embedded Querying
Affects Versions: 8.0.0.Beta2
Reporter: Dan Berindei
Fix For: 8.0.0.Final
The query interceptor relies on the return value of the write commands to know the
previous value of the modified entries. This is not correct, because some write commands
do not return the previous value, e.g. {{remove(key, value)}}, {{replace(key, oldValue,
newValue)}}, and {{putAll(map)}}.
The query interceptor should instead look up the previous values in the invocation
context, and also force the loading of old values in the invocation context if the command
doesn't do it explicitly (e.g. {{putAll(map)}}, or {{put(k, v)}} with the
{{IGNORE_RETURN_VALUES}} flag).