[
https://issues.apache.org/jira/browse/OAK-5924?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Davide Giannella updated OAK-5924:
----------------------------------
Fix Version/s: 1.14.0
> Prevent long running query from delaying refresh of index
> ---------------------------------------------------------
>
> Key: OAK-5924
> URL: https://issues.apache.org/jira/browse/OAK-5924
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Components: lucene
> Reporter: Chetan Mehrotra
> Assignee: Chetan Mehrotra
> Priority: Major
> Fix For: 1.12.0, 1.14.0
>
>
> Whenever the index gets updated {{IndexTracker}} detects the changes and open
> new {{IndexNode}} and closes old index nodes. This flow would block untill
> all old IndexNode are closed.
> IndexNode close itself relies on a writer lock. It can happen that a long
> running query i.e. a query which is about to read a page of large is
> currently executing on the old IndexNode instance. This query is trying load
> 100k docs and is very slow (due to loading of excerpt) then such a query
> would prevent the IndexNode from getting closed. This in turn would prevent
> the index from seeing latest data and become stale.
> To make query and indexing more resilient we should look if current IndexNode
> being used for query is closing or not. If closing then query should open a
> fresh searcher
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)