Stefan Egli updated OAK-4908:
    Attachment: OAK-4908.patch

Attaching [^OAK-4908.patch] which incorporates mentioned feedback from Chetan 
and introduces
* Prefilter.excludeCommits which is implemented by FilterProvider: this method 
is another type of filtering and not compatible with the EventFilter, thus a 
new interface
* PrefilterImpl which is the default implementation
* ObservationManagerImpl composes a PrefilterImpl
* ChangeProcessor connects the dots between Prefilter and BackgroundObserver's 
* ChangeProcessor also has a {{TESTMODE}} which is enabled by default at the 
moment: the idea is that prefiltering can be set in this testmode in which it 
will not actually do prefiltering but actually filter-validation: it checks at 
the time of the onEvent call if prefiltering _would have correctly prefiltered_

> Best-effort prefiltering in ChangeProcessor based on ChangeSet
> --------------------------------------------------------------
>                 Key: OAK-4908
>                 URL: https://issues.apache.org/jira/browse/OAK-4908
>             Project: Jackrabbit Oak
>          Issue Type: Technical task
>          Components: core, jcr
>    Affects Versions: 1.5.11
>            Reporter: Stefan Egli
>            Assignee: Stefan Egli
>             Fix For: 1.6
>         Attachments: OAK-4908.patch
> This is a subtask as a result of 
> [discussions|https://issues.apache.org/jira/browse/OAK-4796?focusedCommentId=15550962&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15550962]
>  around design in OAK-4796:
> Based on the ChangeSet provided with OAK-4907 in the CommitContext, the 
> ChangeProcessor should do a best-effort prefiltering of commits before they 
> get added to the (BackgroundObserver's) queue.
> This consists of the following parts:
> * -the support for optionally excluding commits from being added to the queue 
> in the BackgroundObserver- EDIT: factored that out into OAK-4916
> * -the BackgroundObserver signaling downstream Observers that a change should 
> be excluded via a {{NOOP_CHANGE}} CommitInfo- EDIT: factored that out into 
> OAK-4916
> * the ChangeProcessor using OAK-4907's ChangeSet of the CommitContext for 
> best-effort prefiltering - and handling the {{NOOP_CHANGED}} CommitInfo 
> introduced in OAK-4916

This message was sent by Atlassian JIRA

Reply via email to