[ 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)