You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-dev@jackrabbit.apache.org by Andrei Dulceanu <du...@adobe.com> on 2016/08/10 09:10:56 UTC
[oak-segment-tar] Question about CompactionAndCleanupIT
Hi,
I am ramping up on compaction/cleanup stuff in oak-segment-tar and while reading the code in CompactionAndCleanupIT, found this line [1]. Now my question is this: why does it take two compaction/cleanup cycles to remove the segment(s) storing that blob?
Regards,
Andrei
[1] https://github.com/apache/jackrabbit-oak/blob/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/CompactionAndCleanupIT.java#L139
Re: [oak-segment-tar] Question about CompactionAndCleanupIT
Posted by Michael Dürig <md...@apache.org>.
Hi,
With the changes done mainly with OAK-3348 the cleanup phase is now
based on generations: each compaction would create a new generation
completely independent on the previous one. Cleanup would remove
everything from older generations respecting a retention time of by
default 2 generations. Using a retention time of 1 would most certainly
lead to SegmentNotFoundExceptions as segments created seconds before
compaction finished would already be eligible for cleanup.
See my comment [1] explaining the patch with the initial fix for
OAK-3348 for greater detail.
https://issues.apache.org/jira/browse/OAK-3348?focusedCommentId=15190912&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15190912
See
Michael
On 10.8.16 11:10 , Andrei Dulceanu wrote:
> Hi,
>
> I am ramping up on compaction/cleanup stuff in oak-segment-tar and while reading the code in CompactionAndCleanupIT, found this line [1]. Now my question is this: why does it take two compaction/cleanup cycles to remove the segment(s) storing that blob?
>
> Regards,
> Andrei
>
> [1] https://github.com/apache/jackrabbit-oak/blob/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/CompactionAndCleanupIT.java#L139
>