You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Pavel Tupitsyn (JIRA)" <ji...@apache.org> on 2016/08/09 12:32:26 UTC

[jira] [Updated] (IGNITE-3299) Cache remove can be lost in ATOMIC cache with OFFHEAP_TIERED memory mode

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

Pavel Tupitsyn updated IGNITE-3299:
-----------------------------------
    Fix Version/s:     (was: 1.7)
                   1.8

> 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
>            Priority: Critical
>             Fix For: 1.8
>
>
> 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.3.4#6332)