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 2015/09/04 11:00:52 UTC

[jira] [Created] (OAK-3350) Imcremental compaction

Michael Dürig created OAK-3350:
----------------------------------

             Summary: Imcremental compaction
                 Key: OAK-3350
                 URL: https://issues.apache.org/jira/browse/OAK-3350
             Project: Jackrabbit Oak
          Issue Type: Sub-task
          Components: segmentmk
            Reporter: Michael Dürig
            Assignee: Michael Dürig


This is OAK-3349 taken to the extreme: given a segment that is almost not referenced any more we could just rewrite the still referenced content. That is, say a segment contains two properties reachable from the current root node state and all its remaining content is not reachable from the root node state. In that case we could rewrite these two properties and create a new root node state referencing the rewritten properties. This would effectively make the segment eligible for being gc-ed. 
Such an approach would start from segments that are sparse and compact these instead of compacting everything as we currently do, which might cause a lot of copying around stuff that already is compact. The challenging part here is probably finding the segments that are sparse as this involves inverting the reference graph. 

Todo: Asses feasibility and impact, implement prototype.



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