[
https://issues.apache.org/jira/browse/OAK-2192?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alex Parvulescu updated OAK-2192:
---------------------------------
Attachment: OAK-2192-v9.patch
attaching v9 of the patch
- I removed the segment loaded
- refactored the CompactionMap so that it takes 30% less space due to making
the 'afterSegmentIds' structure more efficient
- added CompactionMap weigh estimation
- introduced a memory check before compaction based on the available memory
(available has to be more than 5x the compaction map weight otherwise
compaction won't run), this should prevent potential OOMEs
> Concurrent commit during compaction results in mixed segments
> -------------------------------------------------------------
>
> Key: OAK-2192
> URL: https://issues.apache.org/jira/browse/OAK-2192
> Project: Jackrabbit Oak
> Issue Type: Bug
> Components: core, segmentmk
> Reporter: Michael Dürig
> Assignee: Michael Dürig
> Labels: compaction, gc
> Attachments: OAK-2192-2.patch, OAK-2192-poc-fix.patch,
> OAK-2192-possible-test.patch, OAK-2192-v2.patch, OAK-2192-v3.patch,
> OAK-2192-v4.patch, OAK-2192-v5.patch, OAK-2192-v6.patch, OAK-2192-v7.patch,
> OAK-2192-v8-branch-1.0.patch, OAK-2192-v8.patch, OAK-2192-v9.patch,
> OAK-2192.patch
>
>
> Changes that are committed during a segment store compaction run will be
> compacted on top of the already compacted changes. However the compactor uses
> the wrong before state in this case. Instead of compacting against the
> compacted before state it uses the un-compacted before state. The resulting
> state will thus contain references to un-compacted state, making those not
> eligible for later clean up.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)