[ https://issues.apache.org/jira/browse/LUCENE-1726?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jason Rutherglen updated LUCENE-1726: ------------------------------------- Attachment: LUCENE-1726.patch We don't block accessing readers in the IW.readerPool when a new segmentReader is being warmed/instantiated. This is important when new segmentReaders on large new segments are being accessed for the first time. Otherwise today IW.getReader may wait while the new SR is being created. * IW.readerPool map values are now of type MapValue * We synchronize on the MapValue in methods that access the SR * synchronize for the entire readerPool.get method is removed. * All tests pass > IndexWriter.readerPool create new segmentReader outside of sync block > --------------------------------------------------------------------- > > Key: LUCENE-1726 > URL: https://issues.apache.org/jira/browse/LUCENE-1726 > Project: Lucene - Java > Issue Type: Improvement > Components: Index > Affects Versions: 2.4.1 > Reporter: Jason Rutherglen > Priority: Trivial > Fix For: 2.9 > > Attachments: LUCENE-1726.patch > > Original Estimate: 48h > Remaining Estimate: 48h > > I think we will want to do something like what field cache does > with CreationPlaceholder for IndexWriter.readerPool. Otherwise > we have the (I think somewhat problematic) issue of all other > readerPool.get* methods waiting for an SR to warm. > It would be good to implement this for 2.9. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org For additional commands, e-mail: java-dev-h...@lucene.apache.org