[
https://issues.apache.org/jira/browse/OAK-2801?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14513781#comment-14513781
]
Alex Parvulescu edited comment on OAK-2801 at 4/27/15 9:28 AM:
---------------------------------------------------------------
looks good, I've played with the patch a bit and couldn't find any issues with
it.
I was concerned about 2 parts:
- first is clearing all of the _segments_ cache might introduce segment not
found exceptions, but I didn't see that happening
- second, in TarReader#cleanup there's an _else_ clause missing on the branch
where we're dealing with a referenced segment but the _isDataSegmentId_ is
false = referenced binary segment. but again I didn't see any side-effects.
was (Author: alex.parvulescu):
looks good, I've played with the patch a bit and couldn't find any issues with
it.
> Clear excess references before cleanup
> --------------------------------------
>
> Key: OAK-2801
> URL: https://issues.apache.org/jira/browse/OAK-2801
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Components: segmentmk
> Reporter: Michael Dürig
> Assignee: Michael Dürig
> Labels: compaction, gc
> Fix For: 1.3.0
>
> Attachments: OAK-2801.patch, with-OAK-2801.png, without-OAK-2801.png
>
>
> {{FileStore#cleanup}} would be more efficient when getting rid of as much
> references as possibly beforehand. Excess references are contributed by the
> current {{TarWriter}} instance and segment cache in {{SegmentTracker}}.
> Those excess references turn out to be especially harmful with many
> concurrent writers continuously writing to the repository. Starting with a
> certain write load clean up will become completely blocked.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)