[
https://issues.apache.org/jira/browse/IGNITE-2509?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15138887#comment-15138887
]
Alexey Goncharuk commented on IGNITE-2509:
------------------------------------------
I believe the behavior should be as follows:
* ONHEAP_TIERED, 50 entries on-heap, 50 entries off-heap. Then size(ONHEAP) ==
50, size(OFFHEAP) == 50, offheapAllocatedSize() > 0
* OFFHEAP_TIERED, 100 entries offheap. Then size(ONHEAP) == 0, size(OFFHEAP)
== 100, offheapAllocatedSize() > 0
* OFFHEAP_VALUES, 100 entries onheap. Then size(ONHEAP) == 100, size(OFFHEAP)
== 0, offheapAllocatedSize() > 0
> Broken eviction and metrics for OFFHEAP_VALUES cache mode
> ---------------------------------------------------------
>
> Key: IGNITE-2509
> URL: https://issues.apache.org/jira/browse/IGNITE-2509
> Project: Ignite
> Issue Type: Bug
> Affects Versions: 1.5.0.final
> Reporter: Denis Magda
> Assignee: Vladimir Ershov
> Priority: Blocker
> Fix For: 1.6
>
> Attachments: EvictionBug.java, eviction_fix.patch
>
>
> In case when {{OFFHEAP_VALUES}} mode is used {{EvictionPolicy}} calculates
> values size wrongly which leads to the fact that data is evicted only when
> either the limit on number of entries is reached or size of keys is bigger
> than max allowed size.
> To reproduce set the following cache configuration
> {noformat}
> FifoEvictionPolicy plc = new FifoEvictionPolicy();
> plc.setMaxMemorySize(2 * 1024 * 1024);
> cacheCfg.setEvictionPolicy(plc);
> cacheCfg.setMemoryMode(CacheMemoryMode.OFFHEAP_VALUES);
> cacheCfg.setSwapEnabled(true);
> {noformat}
> Test that reproduces the issue is attached.
> Also attached a patch that fixes the issue. However we should validate that
> the fix is full and add additional tests to the test suites.
> Finally, {{cache.metrics().getOffHeapAllocatedSize()}} always returns 0 for
> this cache mode. Has to be fixed as well.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)