[ https://issues.apache.org/jira/browse/OAK-5924?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Chetan Mehrotra updated OAK-5924:
---------------------------------
Fix Version/s: (was: 1.8)
1.10
> 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
> Fix For: 1.10
>
>
> 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
(v6.4.14#64029)
|