Chetan Mehrotra created OAK-6904:
------------------------------------
Summary: NRT Indexes should be closed if async indexer progresses
Key: OAK-6904
URL: https://issues.apache.org/jira/browse/OAK-6904
Project: Jackrabbit Oak
Issue Type: Improvement
Components: lucene
Reporter: Chetan Mehrotra
Assignee: Chetan Mehrotra
Priority: Minor
Fix For: 1.8
Currently NRTIndex associated with IndexNodeManager are only closed upon index
update. However each IndexNodeManager keeps reference to 2 NRTIndex instances.
It can happen that following sequence can happen
# Index /oak:index/ntBaseLucene refers to 2 nrt indexes NR1 and NR2. Where NR1
has 1 M entries and NR2 has 1 M entries
# AsyncIndexer updates and thus refreshes the /oak:index/ntBaseLucene. This
causes new NRT Index NR3 to be created and NR1 to be closed. So NR3 and NR2 are
active
# AsyncIndexer updates but no change happen in setup which causes any update to
/oak:index/ntBaseLucene. Thus this index does not get refreshed and continues
to refer to NR2
So as a fix we should refresh any index if it refers to 2 NRT indexes where
previous one is not empty
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)