[
https://issues.apache.org/jira/browse/IGNITE-16431?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17570172#comment-17570172
]
Vladislav Pyatkov commented on IGNITE-16431:
--------------------------------------------
Currently, we are using On heap {{entry for execute
GridCacheTtlManager#expireC}} closure.
Required an additional investigation to looking for a way to got rid of
deserialize an entry to on-heap object.
> Entry expiration requires twice the entry size of heap
> ------------------------------------------------------
>
> Key: IGNITE-16431
> URL: https://issues.apache.org/jira/browse/IGNITE-16431
> Project: Ignite
> Issue Type: Improvement
> Affects Versions: 2.12
> Reporter: Alexey Kukushkin
> Priority: Major
> Labels: cggg
> Attachments: 500MB-put-expiry-master.png
>
> Original Estimate: 64h
> Remaining Estimate: 64h
>
> Ignite takes twice the entry size off the heap to expire the entry when
> {{{}eagerTtl=true{}}}. See the attached heap memory usage diagram of putting
> and then expiring a 500MB entry in Ignite.
> This makes Ignite inefficient with handling large objects causing
> {{OutOfMemory}} errors.
> Do we really need loading entry's value on heap at all to expiry the entry?
> Please enhance Ignite cache entry expiration not to load the entry's value on
> heap even once or explain why it is not possible.
> !500MB-put-expiry-master.png!
--
This message was sent by Atlassian Jira
(v8.20.10#820010)