[jira] [Assigned] (IGNITE-3471) Do not send previous value to client node for invoke() when possible
[ https://issues.apache.org/jira/browse/IGNITE-3471?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Dmitry Karachentsev reassigned IGNITE-3471: --- Assignee: (was: Dmitry Karachentsev) > 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 >Priority: Major > Fix For: 2.8 > > 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 (v7.6.3#76005)
[jira] [Assigned] (IGNITE-3471) Do not send previous value to client node for invoke() when possible
[ https://issues.apache.org/jira/browse/IGNITE-3471?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Dmitry Karachentsev reassigned IGNITE-3471: --- Assignee: Dmitry Karachentsev > 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: Dmitry Karachentsev >Priority: Major > Fix For: 2.5 > > 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 (v7.6.3#76005)
[jira] [Assigned] (IGNITE-3471) Do not send previous value to client node for invoke() when possible
[ https://issues.apache.org/jira/browse/IGNITE-3471?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Alexandr Fedotov reassigned IGNITE-3471: Assignee: (was: Alexandr Fedotov) > 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 > Fix For: 2.2 > > 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.4.14#64029)
[jira] [Assigned] (IGNITE-3471) Do not send previous value to client node for invoke() when possible
[ https://issues.apache.org/jira/browse/IGNITE-3471?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Alexandr Fedotov reassigned IGNITE-3471: Assignee: Alexandr Fedotov > 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 > 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)
[jira] [Assigned] (IGNITE-3471) Do not send previous value to client node for invoke() when possible
[ https://issues.apache.org/jira/browse/IGNITE-3471?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Nikolay Tikhonov reassigned IGNITE-3471: Assignee: Nikolay Tikhonov (was: Andrey Velichko) > 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: Nikolay Tikhonov > 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.4#6332)
[jira] [Assigned] (IGNITE-3471) Do not send previous value to client node for invoke() when possible
[ https://issues.apache.org/jira/browse/IGNITE-3471?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrey Velichko reassigned IGNITE-3471: --- Assignee: Andrey Velichko > 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: Andrey Velichko > > 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.4#6332)