jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marcel Reutegger (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (OAK-1794) Keep commit info for local changes in main document
Date Thu, 03 Jul 2014 07:37:24 GMT

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

Marcel Reutegger commented on OAK-1794:

Committed a fix in http://svn.apache.org/r1607557

I deprecated the existing {{SplitDocType}}s {{DEFAULT_NO_CHILD}} and {{PROP_COMMIT_ONLY}}
and introduced new equivalent ones: {{DEFAULT_LEAF}} and {{COMMIT_ROOT_ONLY}}.

To recap, the problem with the implementation in 1.0 is that it moved _revisions and _commitRoot
entries to previous documents while the main document may still have changes referencing these

With this fix, the _revisions and _commitRoot entries for changes in the main document are
retained, even if some other changes moved to a previous document requires the same entries
to be present in the previous document. This now means that some _revisions and/or _commitRoot
entries may get duplicated and are present in the main document as well as in a previous document.
This also has the advantage that the commit information about a change is available in the
current document and no lookup is required in a previous document.  Though, we still have
the fallback in place in the code because there may be documents with split docs created with
Oak 1.0.

I enabled all GC tests that were previously ignored and they pass now.

[~chetanm], could you please review the fix?

> Keep commit info for local changes in main document
> ---------------------------------------------------
>                 Key: OAK-1794
>                 URL: https://issues.apache.org/jira/browse/OAK-1794
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: core, mongomk
>    Affects Versions: 1.0
>            Reporter: Marcel Reutegger
>            Assignee: Marcel Reutegger
>            Priority: Critical
>             Fix For: 1.1
> The current split logic in MongoMK may move commit information (_commitRoot and _revision
entries) for local changes to a previous document. This makes it difficult to identify previous
documents that can be garbage collected after some time. See also OAK-1793.
> It would be better to keep also the commit information on the main document for local

This message was sent by Atlassian JIRA

View raw message