[
https://issues.apache.org/jira/browse/OAK-4279?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15309984#comment-15309984
]
Michael Dürig commented on OAK-4279:
------------------------------------
[~alex.parvulescu], the approach taken with the patch looks good to me. Apart
from the points you already mentioned there is two other issues we should
consider:
* The way the offline flag is set in the gc options: I think instead of doing
this through a setter it should by done at initialisation time. (i.e. through
{{FileStore.Builder#withGCOptions}}. At a later stage we can further improve
things so the compactor would be the only one having exclusive access to the
store (to avoid accidentally setting this flag in an online use case). This
could be done via the new {{Revision}} interface I introduced just now. As that
one is still a bit in flux, I'd rather wait until it has stabilised until going
further here.
* I'm not too happy about {{SegmentWriter#writeBlobRef}} as it leaks
implementation details (the blob reference). We should invest some time in
finding a cleaner solution here.
> Rework offline compaction
> -------------------------
>
> Key: OAK-4279
> URL: https://issues.apache.org/jira/browse/OAK-4279
> Project: Jackrabbit Oak
> Issue Type: Task
> Components: segment-tar
> Reporter: Michael Dürig
> Assignee: Alex Parvulescu
> Priority: Blocker
> Labels: compaction, gc
> Fix For: 1.6
>
> Attachments: OAK-4279-v0.patch, OAK-4279-v1.patch, OAK-4279-v2.patch
>
>
> The fix for OAK-3348 broke some of the previous functionality of offline
> compaction:
> * No more progress logging
> * Compaction is not interruptible any more (in the sense of OAK-3290)
> * Offline compaction could remove the ids of the segment node states to
> squeeze out some extra space. Those are only needed for later generations
> generated via online compaction.
> We should probably implement offline compaction again through a dedicated
> {{Compactor}} class as it was done in {{oak-segment}} instead of relying on
> the de-duplication cache (aka online compaction).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)