[ https://issues.apache.org/jira/browse/OAK-3177?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Dürig updated OAK-3177: ------------------------------- Fix Version/s: (was: 1.3.5) 1.3.4 > Compaction slow on repository with continuous writes > ---------------------------------------------------- > > Key: OAK-3177 > URL: https://issues.apache.org/jira/browse/OAK-3177 > Project: Jackrabbit Oak > Issue Type: Sub-task > Components: segmentmk > Reporter: Michael Dürig > Assignee: Michael Dürig > Labels: compaction, gc > Fix For: 1.3.4 > > Attachments: OAK-3177.patch, OAK-3177.png > > > OAK-2734 introduced retry cycles and the option to force compaction when all > cycles fail. However OAK-2192 introduced a performance regression: each > compaction cycle takes in the order of the size of the repository to complete > instead of in the order of the number of remaining changes to compact. This > is caused by comparing compacted with pre-compacted node states, which is > necessary to avoid mixed segments (aka OAK-2192). To fix the performance > regression I propose to pass the compactor an additional node state (the > 'onto' state). The diff would then be calculated across the pre compacted > states, which performs in the order of number of changes. The changes would > then be applied to the 'onto' state, which is a compacted state to avoid > mixed segments. -- This message was sent by Atlassian JIRA (v6.3.4#6332)