[ 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: (was: 1.12.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.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)