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