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

Michael Dürig commented on OAK-2849:
------------------------------------

Good catch! This node is put there by {{ConflictAnnotatingRebaseDiff}} with the 
expectation that a commit hook later on will remove it again when resolving the 
conflict. It is not intended to be saved at all. When running through oak-core 
{{MergingNodeStateDiff#childNodeAdded}} takes care of removing the 
{{:conflict}} node again. For {{SegmentCompactionIT}} there is no such commit 
hook in place thus the node get saved along with the rest of the commit. 

> Improve revision gc on SegmentMK
> --------------------------------
>
>                 Key: OAK-2849
>                 URL: https://issues.apache.org/jira/browse/OAK-2849
>             Project: Jackrabbit Oak
>          Issue Type: Task
>          Components: segmentmk
>            Reporter: Michael Dürig
>            Assignee: Michael Dürig
>              Labels: compaction, gc
>             Fix For: 1.3.6
>
>         Attachments: SegmentCompactionIT-conflicts.png
>
>
> This is a container issue for the ongoing effort to improve revision gc of 
> the SegmentMK. 
> I'm exploring 
> * ways to make the reference graph as exact as possible and necessary: it 
> should not contain segments that are not referenceable any more and but must 
> contain all segments that are referenceable. 
> * ways to segregate the reference graph reducing dependencies between certain 
> set of segments as much as possible. 
> * Reducing the number of in memory references and their impact on gc as much 
> as possible.
> Work in progress is in my private [Github 
> fork|https://github.com/mduerig/jackrabbit-oak]. As soon as something is 
> promising enough to make it into Oak, I spawn of an issue an make it a 
> subtask of this task. 



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

Reply via email to