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

Chetan Mehrotra commented on OAK-6425:
--------------------------------------

Have not looked at new change closely yet. However looking at current flow I 
think Observation handling needs bit of locking.

Per Observer interface 
{noformat}
However, each observer is
 * always guaranteed to see a linear sequence of changes. In other words the
 * method will not be called concurrently from multiple threads and successive
 * calls represent a linear sequence of repository states, i.e. the root
 * state passed to a call is guaranteed to represent a repository state
{noformat}

Currently concurrent merge would result in concurrent calls to Observer. So 
that would need to be serialized. As for changed merge logic it would be good 
if [~mreutegg] can have a look

> 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
(v6.4.14#64029)

Reply via email to