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 12:12:27 UTC

[jira] [Created] (OAK-3573) BackgroundObserver should decide about collapsing external events based on backend

Vikas Saurabh created OAK-3573:
----------------------------------

             Summary: BackgroundObserver should decide about collapsing external events based on backend
                 Key: OAK-3573
                 URL: https://issues.apache.org/jira/browse/OAK-3573
             Project: Jackrabbit Oak
          Issue Type: Improvement
          Components: core
            Reporter: Vikas Saurabh
            Priority: Minor


This is a follow up of OAK-3372. With OAK-3372, {{BackgroundObserver}} by default won't collapse external events if observation queue is not full. Although, it exposes a system property to control the behavior, but it's better if this is done based on persistence used in the back-end.

The reason to still have the collapse is because of this [comment|https://issues.apache.org/jira/browse/OAK-3372?focusedCommentId=14745607&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14745607]
{panel}
{quote}
I assume whenever cluster support comes it there'd some way where external changes are polled for and kept.
{quote}
Probably yes but I don't want to speculate too much here as there are currently no plans to that extend. However, the way segment node store works it might be favourable to have this collapsing in place anyway. So I'd rather keep it but add an option to disable it if the back end chooses to. Maybe the commit info could be used to convey that information in a backward compatible way?
{panel}

A couple of approaches to do it were mentioned [here|https://issues.apache.org/jira/browse/OAK-3372?focusedCommentId=14976607&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14976607]
{panel}
* Background observer can be passed the configuration to collapse/not-collapse external events early using descriptors
* Since external event can't have non-null commit info, we might hack around and add some extra data into local events - that extra info essentially can configure the background observer. Apart from this being very hacky, it's also hard to generate solve the case when there are no local events getting generated
{panel}



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