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

Chetan Mehrotra updated OAK-5434:
---------------------------------
    Fix Version/s:     (was: 1.8)

> Skip processing of queued changes if async index update is detected in 
> ExternalIndexObserver
> --------------------------------------------------------------------------------------------
>
>                 Key: OAK-5434
>                 URL: https://issues.apache.org/jira/browse/OAK-5434
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: lucene
>            Reporter: Chetan Mehrotra
>            Assignee: Chetan Mehrotra
>              Labels: performance
>
> ExternalIndexObserver is currently backed by a queue (its wrapped in 
> BackgroundObserver). Currently it processed the changes one by one as 
> received from the queue. If this processing takes long time then its possible 
> that it would lag behind the async indexing cycle.
> So ExternalIndexObserver may be busy indexing changes from [r1-r2] but async 
> indexing is already done indexing changes upto r3 (r3 > r2) and IndexTracker 
> would move to newer index version. In such case work done by 
> ExternalIndexObserver is wasted. 
> This can be optimized by ensuring that ExternalIndexObserver can see the 
> lastIndexTo of :async as per latest entry in queue. If that is newer than one 
> its processing then it can skip processing the queue entry and thus free up 
> space in queue



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to