You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Marcel Reutegger (JIRA)" <ji...@apache.org> on 2014/09/25 09:25:33 UTC

[jira] [Resolved] (OAK-1768) DocumentNodeBuilder.setChildNode() runs OOM with large tree

     [ https://issues.apache.org/jira/browse/OAK-1768?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marcel Reutegger resolved OAK-1768.
-----------------------------------
    Resolution: Fixed

As a short term solution I implemented a fix that relies on MapDB and persists pending modification to the _lastRev fields to a temp file if there are too many. The fix can be disabled by setting the system property {{oak.useMemoryMapFactory}} to true. This will revert back to the implementation that keeps the pending modifications in memory.

I will open a separate issue for the remaining work to minimize the use of the _lastRev field.

Fixed in trunk in http://svn.apache.org/r1627470

> DocumentNodeBuilder.setChildNode() runs OOM with large tree
> -----------------------------------------------------------
>
>                 Key: OAK-1768
>                 URL: https://issues.apache.org/jira/browse/OAK-1768
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.0
>            Reporter: Marcel Reutegger
>            Assignee: Marcel Reutegger
>             Fix For: 1.1
>
>         Attachments: 0001-OAK-1768-DocumentNodeBuilder.setChildNode-runs-OOM-w.patch
>
>
> This is a follow up issue for OAK-1760. There we implemented a workaround in the upgrade code to prevent the OOME. For the 1.1 release we should implement a proper fix in the DocumentNodeStore as suggested by Jukka in OAK-1760.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)