[
https://issues.apache.org/jira/browse/OAK-3287?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15226192#comment-15226192
]
Marcel Reutegger commented on OAK-3287:
---------------------------------------
The implementation on the github branches for OAK-3711, OAK-3712 and OAK-3716
are now nearly complete and a combination of the two approaches. OAK-3712
contains the main part of the implementation and introduces a
{{NodeDocumentSweeper}}. Each cluster node runs a sweeper on its own changes,
similar to the existing background split. The sweeper periodically scans the
last modified documents and
- removes changes of stale commits. These are uncommitted changes with a
revision less than the current head revision.
- rewrites merged branch commits. After the rewrite, these commits look like
regular non-branch commits and do not require a lookup on the commit root
document to resolve the merge revision.
With this approach the majority of changes from regular non-branch commits are
not touched anymore. Only merged branch commits need to be rewritten.
The sweeper also maintains a new {{_sweepRev}} on the root document per cluster
node. These revisions are the elements of a {{RevisionVector}} and all changes
older than this revision vector can be considered committed. The sweeper
currently uses the {{MissingLastRevSeeker}} to retrieve the most recently
modified documents. This should be further decoupled, because the sweeper also
works correctly with documents off a MongoDB secondary, which is delayed.
There is still an open issue with split documents created by older Oak
versions. These may contain branch commits, which are not re-written and cannot
be assumed committed as is.
> DocumentMK revision GC
> ----------------------
>
> Key: OAK-3287
> URL: https://issues.apache.org/jira/browse/OAK-3287
> Project: Jackrabbit Oak
> Issue Type: Epic
> Components: documentmk, mongomk, rdbmk
> Reporter: Michael Marth
> Assignee: Marcel Reutegger
> Fix For: 1.6
>
>
> Collector for various tasks on implementing DocMK revision GC
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)