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

Vyacheslav Koptilin commented on IGNITE-12042:
----------------------------------------------

[~xtern]

 

> Or am I missing something?
Yep, we are calculating total pages. To be more precise:
{{datarowPages}} = {{datarow.size() / pageMem.systemPageSize()}}
{{linkPages + nonEmptyPages }}= {{nonEmptyPages * (8.0 / pageMem.pageSize() + 
*1*)}}
{{additionalPages}} = 256 // one page per bucket

So,

*totalPages* <  {{datarowPages + linkPages + nonEmptyPages + additionalPages}}

{{> 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.}}

That is the reason why we have the multiplier - 1.5

> 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