ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pavel Pereslegin (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (IGNITE-12042) Atempt to remove entries from fully populated data region may result in IgineOutOfMemoryException
Date Tue, 06 Aug 2019 11:48:00 GMT

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

Mime
View raw message