You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Michael Dürig (JIRA)" <ji...@apache.org> on 2017/08/11 15:06:00 UTC

[jira] [Resolved] (OAK-6399) Re-establish full offline compaction functionality

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

Michael Dürig resolved OAK-6399.
--------------------------------
       Resolution: Fixed
    Fix Version/s:     (was: 1.7.7)
                   1.7.6

Fixed at http://svn.apache.org/viewvc?rev=1804794&view=rev:

* Removed binary deduplication feature as we should rely on the blob store here. We can add it back later if it turns out to be required. 
* Eager flush is superseded by the fix of OAK-6110
* Content equality check is not necessary any more with backup and restore depending on the new {{Compactor}} class now. 
* Progress logging is now integrated with {{GCNodeWriteMonitor}}.
* Cache size configuration does not apply any more as there are no deduplication caches involved in off line compaction. 

> Re-establish full offline compaction functionality
> --------------------------------------------------
>
>                 Key: OAK-6399
>                 URL: https://issues.apache.org/jira/browse/OAK-6399
>             Project: Jackrabbit Oak
>          Issue Type: Task
>          Components: segment-tar
>            Reporter: Michael Dürig
>            Assignee: Michael Dürig
>             Fix For: 1.8, 1.7.6
>
>
> The work on OAK-5790 and OAK-3349 replaced the former offline compaction code (implemented in the {{Compactor}}) class with the one used for online compaction (implemented in the {{OnlineCompactor}} class), which currently causes offline compaction to lose a few features. 
> Once above issues are resolved we need to decide how we should proceed with offline compaction. Either we stay with the {{Compactor}} class (possibly renaming it to {{OfflineCompactor}}) and rewire it into {{FileStore.compact()}}. Or alternatively we unify the functionality of {{OnlineCompactor}} and {{Compactor}} so we can use a single class. 
> Features that are present in {{Compactor}} that are currently not present in {{OnlineCompactor}}:
> * Binary deduplication based on the content of binaries. I think we can drop this feature as we should rely on a blob store for most binaries.
> * {{oak.compaction.eagerFlush}} feature flag. I think we can drop this one as the underlying issue should have been fixed with OAK-6110 and should not be present in {{OnlineCompactor}}.
> * content equality check (used by backup and restore). We can probably drop this but need to double check why exactly this was needed.
> * progress logging ({{ProgressTracker}}). Should be easy to implement in {{OnlineCompactor}}. It is probably a good idea to unify this with {{GCNodeWriteMonitor}}. 
> * {{oak.segment.compaction.cacheSize}} feature flag. {{OnlineCompactor}} does not have its own caches but relies on those of the underlying {{FileStore}}. This feature flag should thus probably be used to configure these caches.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)