jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jukka Zitting (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (OAK-1804) TarMK compaction
Date Tue, 03 Jun 2014 15:43:02 GMT

    [ https://issues.apache.org/jira/browse/OAK-1804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14016796#comment-14016796
] 

Jukka Zitting commented on OAK-1804:
------------------------------------

Looks good, +1 to commit.

Some improvements we could/should make after committing the patch:

* {{compact()}} should be private. It's better if we only publicly expose the {{gc()}} method
for this purpose.
* The log message written by {{compact()}} should probably be at INFO level, it's IMO significant
enough information.
* The {{writeNumber % compactThreshold == 0}} condition should also check for {{writeNumber
> 0}}.
* It would be better if the {{gc()}} method set only the {{compactNeeded}} flag, which would
trigger the {{compact()}} method to set {{cleanupNeeded}}. This way we can guarantee that
we won't end up with a compaction that's not followed by the cleanup.

> TarMK compaction
> ----------------
>
>                 Key: OAK-1804
>                 URL: https://issues.apache.org/jira/browse/OAK-1804
>             Project: Jackrabbit Oak
>          Issue Type: New Feature
>          Components: segmentmk
>            Reporter: Jukka Zitting
>            Assignee: Alex Parvulescu
>              Labels: production, tools
>             Fix For: 1.0.1, 1.1
>
>         Attachments: SegmentNodeStore.java.patch, compact-on-flush.patch, compaction.patch
>
>
> The TarMK would benefit from periodic "compact" operations that would traverse and recreate
(parts of) the content tree in order to optimize the storage layout. More specifically, such
compaction would:
> * Optimize performance by increasing locality and reducing duplication, both of which
improve the effectiveness of caching.
> * Allow the garbage collector to release more unused disk space by removing references
to segments where only a subset of content is reachable.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message