jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Dürig (JIRA) <j...@apache.org>
Subject [jira] [Updated] (OAK-3864) Filestore cleanup removes referenced segments
Date Tue, 12 Jan 2016 11:08:39 GMT

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

Michael Dürig updated OAK-3864:
-------------------------------
    Description: 
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]

  was:
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. 



> 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)

Mime
View raw message