[
https://issues.apache.org/jira/browse/OAK-1932?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alex Parvulescu updated OAK-1932:
---------------------------------
Attachment: CompactorTest.java.patch
There's an issue with the current state of the compactor code, basically the
compactor doesn't copy over state that has not changed (because the diff
doesn't traverse those parts of the tree), so the 'after' state might be
incomplete to the point where passing in 2 equals states returns an empty state.
I'm attaching a test case to demo the problem, with a simple fix for the case
where the root states are equal, but this happens on any level of the tree
> TarMK compaction can create mixed segments
> ------------------------------------------
>
> Key: OAK-1932
> URL: https://issues.apache.org/jira/browse/OAK-1932
> Project: Jackrabbit Oak
> Issue Type: Bug
> Components: core, segmentmk
> Affects Versions: 1.0.1
> Reporter: Jukka Zitting
> Assignee: Jukka Zitting
> Attachments: CompactorTest.java.patch
>
>
> As described in http://markmail.org/message/ujkqdlthudaortxf, commits that
> occur while the compaction operation is running can make the compacted
> segments contain references to older data segments, which prevents old data
> from being reclaimed during cleanup.
--
This message was sent by Atlassian JIRA
(v6.2#6252)