[
https://issues.jboss.org/browse/ISPN-5035?page=com.atlassian.jira.plugin....
]
Radim Vansa commented on ISPN-5035:
-----------------------------------
But I understand that DeltaAware API may not be the best tool - it's simply limited.
Let's focus this JIRA on the aspect that it is not supported in ReplaceCommand, rather
than that it returns always the full value.
DeltaAware support for conditional operations
---------------------------------------------
Key: ISPN-5035
URL:
https://issues.jboss.org/browse/ISPN-5035
Project: Infinispan
Issue Type: Feature Request
Components: Core
Reporter: Radim Vansa
Current delta-aware approach is implemented only in PutKeyValueCommand and
ApplyDeltaCommand. This implementation does not allow to execute conditional delta-aware
commands - or rather it does not allow to return any kind of value (the condition itself
can be implemented inside the delta).
One use-case when this would be required is equivalent of AtomicLong.getAndIncrement().
Currently we can implement this using
{code}
Long previous;
do {
previous = cache.get(key);
} while (cache.replace(key, previous, previous + 1);
{code}
which requires at least two RPCs. With more generic interface, such as JCache's
EntryProcessor this could be implemented using single RPC.
(so, this JIRA is basically a request to native support for EntryProcessor)
--
This message was sent by Atlassian JIRA
(v6.3.8#6338)