[ 
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)

Reply via email to