[ 
https://issues.apache.org/jira/browse/OAK-2800?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Dürig reopened OAK-2800:
--------------------------------

Reopening as I think the fix introduced a regression kindly pointed out by 
[~alex.parvulescu]: the graph used to collect the references in 
{{TarWriter#collectReferences}} does not contain references to segments in the 
same writer so transitive references of the latter could go missing. For 
example say {{referencedIds}} passed to {{collectReferences}} contains {{s1}}, 
which refers {{s2}} and both segments live in the current writer. If {{s2}} 
refers to {{s3}} from outside the current writer (i.e. a different tar file), 
{{collectReferences}} would not include {{s3}}. 

> Make contributions to reference graph from TarWriter less conservative 
> -----------------------------------------------------------------------
>
>                 Key: OAK-2800
>                 URL: https://issues.apache.org/jira/browse/OAK-2800
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: segmentmk
>            Reporter: Michael Dürig
>            Assignee: Michael Dürig
>              Labels: compaction, gc
>             Fix For: 1.3.0
>
>
> {{TarWriter#cleanup}} currently adds all its references to the initial 
> elements of the reference graph. It would be sufficient though to just add 
> the references in the tar writer's own graph. 
> At the same time I'd like to rename that method from {{cleanup}} to 
> {{collectReferences}}, which better reflects its semantics. 



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

Reply via email to