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