You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Semen Boikov (JIRA)" <ji...@apache.org> on 2016/02/12 14:46:18 UTC
[jira] [Resolved] (IGNITE-2622) Excessive memory usage by objects
of destroyed caches
[ https://issues.apache.org/jira/browse/IGNITE-2622?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Semen Boikov resolved IGNITE-2622.
----------------------------------
Resolution: Fixed
Added cleanup of custom message instances after message is processed (commit a6b3ded).
> Excessive memory usage by objects of destroyed caches
> -----------------------------------------------------
>
> Key: IGNITE-2622
> URL: https://issues.apache.org/jira/browse/IGNITE-2622
> Project: Ignite
> Issue Type: Bug
> Components: cache
> Affects Versions: ignite-1.4
> Reporter: Alexey Goncharuk
> Assignee: Semen Boikov
> Fix For: 1.6
>
>
> If I start and stop tens of caches in a loop, cache's configuration gets stored in the following objects:
> * PartitionExchangeFuture.reqs Change requests contain configuration which is then used in cache
> * ServerImpl.PendingMessages.msgs also contain the same reqs
> Both collections are limited, however consider the following scenario: create a cache with an eviction policy, fill it up with data, destroy cache, repeat. Even though the cache is destroyed, it's entries are saved in the eviction policy and do not get collected until both exchange future and pending message (see above) gets cleared.
> Possible solutions:
> * Use a copy of eviction policy for cache creation.
> * Clear requests in exchange future after it's done (easy) and discovery custom message when it's not needed (hard)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)