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 2017/02/28 12:57:45 UTC

[jira] [Commented] (OAK-3711) Clean up _revision entries on commit root documents

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

Marcel Reutegger commented on OAK-3711:
---------------------------------------

I was thinking about this problem again and the solution mentioned in the description of this issue has one severe drawback. When large branches are merged a lot of documents would need to be updated and invalidated again by other cluster nodes. This also requires additional changes to the journal mechanism to support invalidation only. Instead I was thinking about a compromise that keeps branch commits as is and annotates them with a flag. Only regular commits would be considered committed up to a certain revision and branch commits would still have to look up the commit value on the root document. This requires a new type of split documents, which contains only entries from regular commits. Those split documents can be garbage collected, whereas split documents with branch commit information cannot be collected.

> Clean up _revision entries on commit root documents
> ---------------------------------------------------
>
>                 Key: OAK-3711
>                 URL: https://issues.apache.org/jira/browse/OAK-3711
>             Project: Jackrabbit Oak
>          Issue Type: New Feature
>          Components: core, documentmk
>            Reporter: Marcel Reutegger
>            Assignee: Marcel Reutegger
>             Fix For: 1.8
>
>
> The _revisions entries on commit root documents are currently not cleaned up and accumulate in split documents.
> One possible solution may be to ensure that there are no uncommitted changes up to certain revisions. Older revisions would then be considered valid and commit information on the commit root document wouldn't be needed anymore.
> For regular commits this is probably not that difficult. However, changes from branch commits require the merge revision set in the commit entry on the commit root to decide when those changes were made visible to other sessions. A simple solution could be to rewrite such changes with the merge revision.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)