[ 
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)

Reply via email to