[ 
https://issues.apache.org/jira/browse/IGNITE-12042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16901131#comment-16901131
 ] 

Pavel Pereslegin commented on IGNITE-12042:
-------------------------------------------

[~slava.koptilin], 
Yes, if we will take into account row size this should fix a possible leak 
after OOME for very large entries.
But from my point of view, any OOME is unrecoverable.

Btw, I looked at the calculations more closely and I have a question.
As I understand, we want to be sure that pagemem have enough free space to 
store:
1. data row
2. pages required for store links to pages (8 bytes per link)
3. 256 more pages

So 
 {{*freePages* < datarowPages + linkPages + 256}}

But in proposed changes
 {{*totalPages* < datarowPages + linkPages + 256}}

Or am I missing something?

AFAIK each data page has overhead (see 
AbstractDataPageIO.MIN_DATA_PAGE_OVERHEAD, fragmented data row required 8 bytes 
more on each page) therefore, these calculations for data row are very 
approximate.

> Atempt to remove entries from fully populated data region may result in 
> IgineOutOfMemoryException
> -------------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-12042
>                 URL: https://issues.apache.org/jira/browse/IGNITE-12042
>             Project: Ignite
>          Issue Type: Bug
>    Affects Versions: 2.7
>            Reporter: Vyacheslav Koptilin
>            Assignee: Vyacheslav Koptilin
>            Priority: Major
>             Fix For: 2.8
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Removing entries from non-persistent data region may require allocating a new 
> data page in order to move a tracked page from one bucket of the free-list to 
> another one.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Reply via email to