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
