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