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 "Michael Dürig (JIRA)" <ji...@apache.org> on 2013/08/12 23:14:51 UTC

[jira] [Commented] (OAK-659) Move purge logic for transient changes below the NodeBuilder interface

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

Michael Dürig commented on OAK-659:
-----------------------------------

While investigating a fix for OAK-947 I rebased {{OAK-659-2.patch}} on top of the latest trunk. See https://github.com/mduerig/jackrabbit-oak/commit/43feb60288c23b5e109126120763bb87f8b13754

However it turns out that moving the purge logic one layer down is troublesome because in that case it can happen that a [branch is created from within a commit hook | https://github.com/mduerig/jackrabbit-oak/blob/43feb60288c23b5e109126120763bb87f8b13754/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelRootBuilder.java#L44] (this is actually intended in order to support large change sets in commit hooks). Such a branch however is branched from an existing branch, which is not supported by the {{MicroKernel}}.
                
> Move purge logic for transient changes below the NodeBuilder interface
> ----------------------------------------------------------------------
>
>                 Key: OAK-659
>                 URL: https://issues.apache.org/jira/browse/OAK-659
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: core
>            Reporter: Michael Dürig
>         Attachments: OAK-659-2.patch, OAK-659.patch
>
>
> Currently transient changes are purged down to a persisted branch once a certain size threshold is hit. This logic currently resides in {{RootImpl}}. However this approach doesn't catch the case where a lot of content is added by a commit hook (e.g. index updates) since commit hooks operate on the {{NodeBuilder}} level which is below {{Root}}. 
> The aim of this issue is to pursue ways to push the purge logic further down below the {{NodeBuilder}} interface. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira