[
https://issues.apache.org/jira/browse/IGNITE-2610?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15140778#comment-15140778
]
Vladimir Ozerov commented on IGNITE-2610:
-----------------------------------------
It appears that only offheap-ed cache is affected.
*Steps to reproduce*:
1) Open IgniteCacheExpiryPolicyAbstractTest
2) Add the following line to cacheConfiguration() method:
{code}
cfg.setMemoryMode(CacheMemoryMode.OFFHEAP_TIERED);
{code}
3) Add the following unit test:
{code}
public void testCreateUpdate0() throws Exception {
startGrids(1);
long ttl = 60_00000L;
final String key = "key1";
final IgniteCache<String, String> cache = jcache();
for (int i = 0; i < 10_000_000; i++) {
final IgniteCache<String, String> cache0 =
cache.withExpiryPolicy(new ModifiedExpiryPolicy(new
Duration(TimeUnit.MILLISECONDS, ttl)));
cache0.put(key, key);
}
}
{code}
4) Run IgniteCacheAtomicExpiryPolicyTest
5) Observe how GridCacheTtlManager.pendingEntries size grow on each subsequent
put.
> Excessive memory usage in GridCacheTtlManager.
> ----------------------------------------------
>
> Key: IGNITE-2610
> URL: https://issues.apache.org/jira/browse/IGNITE-2610
> Project: Ignite
> Issue Type: Bug
> Components: cache
> Affects Versions: 1.5.0.final
> Reporter: Vladimir Ozerov
> Assignee: Dmitry Karachentsev
> Priority: Critical
> Labels: important
> Fix For: 1.6
>
>
> *Problem*
> When key is updated with new value and new expiry policy, old entry is not
> removed from "pendingEntries". It leads to excessive memory consumption.
> *Steps to reproduce*
> 1) Create a cache
> 2) Put a lot of entries with same key, but different expiry policies one by
> one.
> 3) Observe trashed "pendingEntries".
> Concrete fix is to be defined.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)