[ https://issues.apache.org/jira/browse/OAK-3350?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Dürig updated OAK-3350: ------------------------------- Component/s: (was: segmentmk) segment-next > Incremental compaction > ---------------------- > > Key: OAK-3350 > URL: https://issues.apache.org/jira/browse/OAK-3350 > Project: Jackrabbit Oak > Issue Type: New Feature > Components: segment-next > Reporter: Michael Dürig > Assignee: Michael Dürig > Labels: compaction, gc > > 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)