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