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

Michael Dürig resolved OAK-3864.
--------------------------------
    Resolution: Fixed

Fixed at http://svn.apache.org/viewvc?rev=1724451&view=rev by adding the ids of 
segments referenced through forward references into the initial set of 
referenced ids. This potentially requires multiple passes over all entries in 
all tar readers. I added additional logging so we can catch it when this takes 
too long.

> Filestore cleanup removes referenced segments
> ---------------------------------------------
>
>                 Key: OAK-3864
>                 URL: https://issues.apache.org/jira/browse/OAK-3864
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: segmentmk
>            Reporter: Michael Dürig
>            Assignee: Michael Dürig
>            Priority: Blocker
>              Labels: regression
>             Fix For: 1.3.14
>
>
> In some situations {{FileStore.cleanup()}} may remove segments that are still 
> referenced, subsequently causing a {{SNFE}}. 
> This is a regression introduced with OAK-1828. 
> {{FileStore.cleanup()}} relies on the ordering of the segments in the tar 
> files: later segments only reference earlier segments. As we have seen in 
> other places this assumption does not hold any more (e.g. OAK-3794, OAK-3793) 
> since OAK-1828.
>  {{cleanup}} traverses the segments backwards maintaining a list of 
> referenced ids. When a segment is not in that list, it is removed. However, 
> this approach does not work with forward references as those are only seen 
> later when the segment has been removed already. 
> cc [~alex.parvulescu], [~frm]



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

Reply via email to