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)

Reply via email to