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)

Reply via email to