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

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

> If the user uses default failure handler all these cases are unrecoverable.
Yep, we are talking about the case when a custom failure handler is used.

> Check will not catch a problem (if datarow is big enough) - throwing OOME 
>from {{PageMemoryNoStoreImpl#allocatePage}} (entry is partially written).
In my opinion, this should be avoided. We need to take into account the size of 
the data row:
{code:java}
boolean oomThreshold = (memorySize / pageMem.systemPageSize()) <
    (datarow.size() / pageMem.systemPageSize() + nonEmptyPages * (8.0 / 
pageMem.pageSize() + 1) * 1.5 + 256 /*one page per bucket*/);
{code}
WDYT?

> 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