jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tomek Rękawek (JIRA) <j...@apache.org>
Subject [jira] [Commented] (OAK-6425) Make the CompositeNodeStore thread-safe
Date Mon, 17 Jul 2017 10:57:00 GMT

    [ https://issues.apache.org/jira/browse/OAK-6425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16089636#comment-16089636

Tomek Rękawek commented on OAK-6425:

Actually, locking the merge locally won't help with the underlying node store is distributed.
I created new AtomicCompositeMergeTest to show this behaviour. There are two test methods,
for the local and shared stores. The second test method fails.

So, maybe rather than using locks, we can pass the commit hook to the global node store, as
[~chetanm] suggested? However, [~mduerig] is also right, that these commit hooks need to have
access to the whole repo. My idea is to wrap the passed commit hook with an extra class, that
will replace the {{before}} and {{after}} node states with their composite equivalents. See
CommitHookEnhancer for more details.

Fixed as above in [r1802126|https://svn.apache.org/r1802126].

> Make the CompositeNodeStore thread-safe
> ---------------------------------------
>                 Key: OAK-6425
>                 URL: https://issues.apache.org/jira/browse/OAK-6425
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: composite
>            Reporter: Tomek Rękawek
>            Assignee: Tomek Rękawek
>             Fix For: 1.8, 1.7.4
> The CompositeNodeStore, unlike other *NodeStore implementations, is not thread safe (eg.
two concurrent merge() invocations may leave the repository in inconsistent state).

This message was sent by Atlassian JIRA

View raw message