[ https://issues.apache.org/jira/browse/IGNITE-3471?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alexandr Fedotov updated IGNITE-3471: ------------------------------------- Fix Version/s: (was: 2.0) 2.1 > Do not send previous value to client node for invoke() when possible > -------------------------------------------------------------------- > > Key: IGNITE-3471 > URL: https://issues.apache.org/jira/browse/IGNITE-3471 > Project: Ignite > Issue Type: Task > Components: cache > Affects Versions: 1.4 > Reporter: Alexey Goncharuk > Assignee: Alexandr Fedotov > Fix For: 2.1 > > Attachments: CacheEntryProcessorTxSelfTest.java > > > Currently for invoke() or invokeAll() methods we send previous cache value to > near node and apply EntryProcessor locally to get a return value. This can > induce a significant overhead when cache value is much larger than entry > processor result. > For many cases this can be avoided, e.g. > {code} > try (tx = txStart()) { > cache.invoke(key, EP); // No need to send previous value to client in > this case. > tx.commit(); > } > {code} > Note that we need to add additional handling of such a case: > {code} > try (tx = txStart()) { > cache.invoke(key, EP); // No need to send previous value to client in > this case. > cache.get(key); // This should actually get the current cache value from > primary node and apply an entry processor locally to get the updated value. > tx.commit(); > } > {code} -- This message was sent by Atlassian JIRA (v6.3.15#6346)