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 2015/10/30 11:26:27 UTC

[jira] [Updated] (OAK-3372) Collapsing external events in BackgroundObserver even before queue is full leads to JournalEntry not getting used

     [ https://issues.apache.org/jira/browse/OAK-3372?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Vikas Saurabh updated OAK-3372:
-------------------------------
    Attachment: OAK-3372.patch

The [patch|^OAK-3372.patch] exposes {{oak.observation.alwaysCollapseExternal}} system property (default "false") which would control if external observation events should be collapsed before queue is full.

[~mduerig], can you please review and apply? Also, I wasn't sure how to add test for the behavior... 

> Collapsing external events in BackgroundObserver even before queue is full leads to JournalEntry not getting used
> -----------------------------------------------------------------------------------------------------------------
>
>                 Key: OAK-3372
>                 URL: https://issues.apache.org/jira/browse/OAK-3372
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 1.3.5
>            Reporter: Vikas Saurabh
>              Labels: resilience
>         Attachments: OAK-3372.patch
>
>
> BackgroundObserver currently merges external events if the last one in queue is also an external event. This leads to diff being done for a revision pair which is different from the ones pushed actively into cache during backgroud read (using JournalEntry) i.e. diff queries for {{diff("/a/b", rA, rC)}} while background read had pushed results of {{diff("/a/b", rA, rB)}} and {{diff("/a/b", rB, rC)}}.
> (cc [~mreutegg], [~egli], [~chetanm], [~mduerig])



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)