[
https://issues.apache.org/jira/browse/OAK-6052?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15964049#comment-15964049
]
Julian Sedding edited comment on OAK-6052 at 4/11/17 9:13 AM:
--------------------------------------------------------------
Regarding locking: it is still unclear to me from the added docs, how locking
of readers and writers depend on one another. If they don't depend on one
another, I would think that {{readers}} should be volatile and no locking
necessary, given that they are based on an immutable data structure.
BTW, I think by letting {{Node}} implement {{Iterable<TarReader>}} the code
could become more readable. At the moment the iteration is implemented "ad hoc"
in multiple places.
was (Author: jsedding):
Regarding locking: it is still unclear to me from the added docs, how locking
of readers and writers depend on one another. If they don't depend on one
another, I would think that {{readers}} should be volatile and no locking
necessary, given that they are based on an immutable data structure.
> Cleanup blocks writers
> ----------------------
>
> Key: OAK-6052
> URL: https://issues.apache.org/jira/browse/OAK-6052
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Components: segment-tar
> Reporter: Michael Dürig
> Assignee: Francesco Mari
> Labels: cleanup, gc
> Fix For: 1.7.0, 1.8
>
>
> The refactoring from OAK-6002 moved the cleanup of the tar readers into the
> read lock, which blocks concurrent writers from progressing. This was a
> problem with {{oak-segment}} before and fixed with OAK-3329.
> As cleanup can take up to a couple of minutes on busy system we should
> re-establish the former behaviour.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)