jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stefan Egli (JIRA)" <j...@apache.org>
Subject [jira] [Created] (OAK-5208) Improve observation filter switching while events are queued
Date Thu, 01 Dec 2016 14:45:58 GMT
Stefan Egli created OAK-5208:
--------------------------------

             Summary: Improve observation filter switching while events are queued
                 Key: OAK-5208
                 URL: https://issues.apache.org/jira/browse/OAK-5208
             Project: Jackrabbit Oak
          Issue Type: Improvement
          Components: jcr
    Affects Versions: 1.5.14
            Reporter: Stefan Egli


OAK-4796 changed the model how commits are filtered for processing by the individual observation
listeners. Each BackgroundObserver has a queue of content changes (ie commits) that are ready
for being filtered, converted to events and then delivered to listeners.
Prior to OAK-4796 the filtering of those observation events happened at the _head_ of the
queue, ie at dequeue time. Thus when switching the filter for an observation listener it would
be applied to all still queued changes as they are being processed.
With OAK-4796 and its introduction of prefiltering, this filtering now happens at the _tail_
of the queue, ie at enqueue time first with the _prefilter_, and later on with the _normal_
filter at dequeue time. In essense there are now 2 filtering steps. Thus when switching the
filter for an observation listener and that listener had changes in its queue, the effect
would be that still enqueued changes would have been gone through the prefilter based on the
old filter and of the normal filter based on the new filter.

An improvement is to pass the filter applied in the prefilter along in the queue and use the
same later on for doing the normal filtering. And the filter change would then be applied
on the prefilter alone.



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

Mime
View raw message