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

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

[~slava.koptilin], 
> _Let's assume the size of an entry is greater than the page size and only one 
> page was written, for example, and after that OutOfMemoryException was thrown 
> by allocateDataPage()._
> _So, we have partially-written entry, and I am not sure it is a recoverable 
> case._

I don't see difference here, even with the proposed patch we can prepare really 
large data rows and will go in one of the following situations:
1. Check ({ensureFreeSpaceForInsert}}) will catch a problem - throwing OOME 
from DatabaseSharedManager#ensureFreeSpaceForInsert.
2. Check will not catch a problem (if datarow is big enough) - throwing OOME 
from {PageMemoryNoStoreImpl#allocatePage} (entry is partially written).
3. Check will not catch a problem (if datarow is big enough) - no OOME in 
{PageMemoryNoStoreImpl#allocatePage} but we got OOME when clear() is called.

If a user configures custom failure handler case 1 and 2 are recoverable, but a 
memory leak is possible.
If the user uses default failure handler all these cases are unrecoverable.

> 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