[ 
https://issues.apache.org/jira/browse/IGNITE-2898?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexey Goncharuk updated IGNITE-2898:
-------------------------------------
    Description: 
Suppose a cache putIfAbsent is run on a primary node and the cache is empty. 
Currently putIfAbsent will call loadMissing() which will result in a 
SingleGetFuture creation.
It looks like we can avoid it if we are on a primary node and rebalancing is 
finished.
I believe this optimization is already implemented for non-transactional get() 
operation, just need to use it in transactional logic.

  was:
Suppose a cache putIfAbsent is run on a primary node and the cache is empty. 
Currently putIfAbsent will call loadMissing() which will result in a 
SingleGetFuture creation.
It looks like we can avoid it if we are on a primary node and rebalancing is 
finished.


> Optimize putIfAbsent optimistic call in a case of cache miss
> ------------------------------------------------------------
>
>                 Key: IGNITE-2898
>                 URL: https://issues.apache.org/jira/browse/IGNITE-2898
>             Project: Ignite
>          Issue Type: Bug
>          Components: cache
>    Affects Versions: 1.5.0.final
>            Reporter: Alexey Goncharuk
>
> Suppose a cache putIfAbsent is run on a primary node and the cache is empty. 
> Currently putIfAbsent will call loadMissing() which will result in a 
> SingleGetFuture creation.
> It looks like we can avoid it if we are on a primary node and rebalancing is 
> finished.
> I believe this optimization is already implemented for non-transactional 
> get() operation, just need to use it in transactional logic.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to