[
https://issues.apache.org/jira/browse/IGNITE-3840?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15565145#comment-15565145
]
Semen Boikov edited comment on IGNITE-3840 at 10/11/16 10:52 AM:
-----------------------------------------------------------------
Hi Andrew,
I reviewed your changes, have some comments:
- I think we need have two modes to store pending entries: new implementation
should be used only if offheap is enabled, otherwise use current implementation
- I think PendingEntrySmartPointer incrementRefCount/decrementRefCount should
really increment/decrement some counter and deallocate memory only when counter
is 0?
- PendingEntrySmartPointer.compareTo: here you deserialize full entries, but
actually for comparison it can be enough just read expire time. Please
implement compareTo in more optimal way (I think we can completely avoid byte
arrays instantiation).
- PendingEntrySmartPointer.hashCode - is it really called?
GridH2KeyValueRowOffheap.hashCode throws IllegalStateException.
- why PendingEntry.hashCode is not just key hash code?
- I do not think we need top-level class GridOffHeapSnapTreeSet, please move
this code in GridCacheTtlManager
Thanks!
was (Author: sboikov):
Hi Andrew,
I reviewed your changes, have some comments:
- I think we need have to modes to store pending entries: new implementation
should be used only if offheap is enabled, otherwise use current implementation
- I think PendingEntrySmartPointer incrementRefCount/decrementRefCount should
really increment/decrement some counter and deallocate memory only when counter
is 0?
- PendingEntrySmartPointer.compareTo: here you deserialize full entries, but
actually for comparison it can be enough just read expire time. Please
implement compareTo in more optimal way (I think we can completely avoid byte
arrays instantiation).
- PendingEntrySmartPointer.hashCode - is it really called?
GridH2KeyValueRowOffheap.hashCode throws IllegalStateException.
- why PendingEntry.hashCode is not just key hash code?
- I do not think we need top-level class GridOffHeapSnapTreeSet, please move
this code in GridCacheTtlManager
Thanks!
> Continue investigation: High memory utilization when OFFHEAP_TIERED mode and
> expiry policy are enabled.
> -------------------------------------------------------------------------------------------------------
>
> Key: IGNITE-3840
> URL: https://issues.apache.org/jira/browse/IGNITE-3840
> Project: Ignite
> Issue Type: Bug
> Components: cache
> Affects Versions: 1.5.0.final
> Reporter: Andrew Mashenkov
> Assignee: Andrew Mashenkov
> Priority: Critical
> Labels: community, important
> Fix For: 1.8
>
> Attachments: IgniteExpiryIssue.java, config.xml
>
>
> Continue investigation of high memory utilization.
> The problem is originally reported by Neil Wightman:
> http://apache-ignite-users.70518.x6.nabble.com/Off-Heap-cache-using-lots-of-heap-memory-td3414.html
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)