[ https://issues.apache.org/jira/browse/LUCENE-1703?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tim Smith updated LUCENE-1703: ------------------------------ Attachment: IndexWriter.java.diff Here's a diff for IndexWriter.java moved code from else block in finishMerges() into public waitForMerges() method this should wait for any outstanding merges to be complete prior to exiting will see if i can also work up a test case > Add a waitForMerges() method to IndexWriter > ------------------------------------------- > > Key: LUCENE-1703 > URL: https://issues.apache.org/jira/browse/LUCENE-1703 > Project: Lucene - Java > Issue Type: Improvement > Components: Index > Affects Versions: 2.4 > Reporter: Tim Smith > Attachments: IndexWriter.java.diff > > > It would be very useful to have a waitForMerges() method on the IndexWriter. > Right now, the only way i can see to achieve this is to call > IndexWriter.close() > ideally, there would be a method on the IndexWriter to wait for merges > without actually closing the index. > This would make it so that background merges (or optimize) can be waited for > without closing the IndexWriter, and then reopening a new IndexWriter > the close() reopen IndexWriter method can be problematic if the close() fails > as the write lock won't be released > this could then result in the following sequence: > * close() - fails > * force unlock the write lock (per close() documentation) > * new IndexWriter() (acquires write lock) > * finalize() on old IndexWriter releases the write lock > * Index is now not locked, and another IndexWriter pointing to the same > directory could be opened > If you don't force unlock the write lock, opening a new IndexWriter will fail > until garbage collection calls finalize() the old IndexWriter > If the waitForMerges() method is available, i would likely never need to > close() the IndexWriter until right before the process being shutdown, so > this issue would not occur (worst case scenario, the waitForMerges() fails) -- 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