You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Vikas Saurabh (JIRA)" <ji...@apache.org> on 2018/08/21 11:30:00 UTC

[jira] [Commented] (OAK-7710) CompositeNodeStore does not dispatch external events to observers

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

Vikas Saurabh commented on OAK-7710:
------------------------------------

Had an off list conversation with [~mreutegg] and we weren't quite sure how should this issue be resolved. My thought was that {{CompositeNodeStore}} should simply be a proxy for event being dispatched by underlying stores but Marcel pointed out that the current scheme might be useful when a single commit might span multiple underlying writable stores.

But, still, it seems that underlying stores should have some freedom to dispatch events which aren't really created in context of a merge on this store/instance. The example of background read in the description fairly well describes the issue but I'd probably prefer that we don't solve the issue specifically around that.
Maybe, what we can do is that composite node store always observes events from underlying stores. When an event is dispatched in same call as {{merge}} then composite node store ignores the event. Else, it dispatches the event further up (maybe some massaging of the incoming even be required).

[~tomek.rekawek], [~rombert], it'd great to have feedback from you guys around this.

> CompositeNodeStore does not dispatch external events to observers
> -----------------------------------------------------------------
>
>                 Key: OAK-7710
>                 URL: https://issues.apache.org/jira/browse/OAK-7710
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: composite
>            Reporter: Vikas Saurabh
>            Priority: Major
>             Fix For: 1.10
>
>         Attachments: OAK-7710.test.patch
>
>
> Currently {{CompositeNodeStore}} only ever dispatches changes from inside its {{merge}} method. This then loses external events that could be read in background read of some underlying {{DocumentNodeStore}}.
> [^OAK-7710.test.patch] has an ignored test representing the scenario.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)