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

Semen Boikov updated IGNITE-3299:
---------------------------------
    Fix Version/s:     (was: 2.3)

> Cache remove can be lost in ATOMIC cache with OFFHEAP_TIERED memory mode
> ------------------------------------------------------------------------
>
>                 Key: IGNITE-3299
>                 URL: https://issues.apache.org/jira/browse/IGNITE-3299
>             Project: Ignite
>          Issue Type: Bug
>          Components: cache
>            Reporter: Semen Boikov
>            Assignee: Semen Boikov
>
> Added test reproducing issue (IgniteCacheConcurrentPutGetRemove).
> 1. There is an issue with 'deferredDelete' implementation - entry marked as 
> 'deleted' can be evicted from cache, after this information about remove is 
> lost (note: this can be reproduced not only in OFFHEAP_TIERED, but also in 
> ONHEAP_TIERED mode with eviction policy, also this can also cause lost update 
> in transactional cache on changing topology).
> 2. Looks like condition for removing from offheap in 
> GridCacheMapEntry.innerUpdate is not correct:
> {noformat}
>             if (op != GridCacheOperation.UPDATE && cctx.offheapTiered() && 
> hasValPtr) {
>                 boolean rmv = cctx.swap().removeOffheap(key);
> {noformat}
> It is possible that value was put in offheap, but 'hasValPtr' is false.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to