[
https://issues.apache.org/jira/browse/OAK-4312?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15259919#comment-15259919
]
Michael Dürig commented on OAK-4312:
------------------------------------
Fixed at http://svn.apache.org/viewvc?rev=1741194&view=rev.
Relying on the segment id tables for collecting blob references does not work
reliably any more with the brutal cleanup strategy (OAK-3348): the tables might
still contain ids from segments that have been reclaimed. Aligning them with
the segments on disk is topic of OAK-4285 and I'll follow up there with my
concerns there.
I reimplemented blob reference collection: instead of following the reference
graph, the reference are now retrieved from the tar files (and the segments
therein). This 1) decouples blob reference collection from the segment id
tables and 2) can be seen as preparatory step towards OAK-4201. I left a FIXME
tag to this respect in the code.
FYI [~amitjain], [~chetanm]
> Fix test failures in SegmentDataStoreBlobGCIT
> ---------------------------------------------
>
> Key: OAK-4312
> URL: https://issues.apache.org/jira/browse/OAK-4312
> Project: Jackrabbit Oak
> Issue Type: Task
> Components: segment-next
> Reporter: Michael Dürig
> Assignee: Michael Dürig
> Labels: cleanup, gc
> Fix For: 1.6
>
>
> {{SegmentDataStoreBlobGCIT#gcWithInlined}}, {{gc}},
> {{gcLongRunningBlobCollection}} and {{consistencyCheckWithGc}} fail since the
> removal of the old cleanup strategy in OAK-4276.
> The test setup needs to be adapted to the brutal strategy: i.e. {{setup()}}
> needs to simulate so many compaction cycles until a subsequent cleanup
> actually remove the segments in question.
> This is not sufficient though as then
> {{SegmentTracker#collectBlobReferences}} causes a SNFE for those segment ids
> actually removed but still in the segment id tables.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)