Yeah I agree we should fix the javadocs to say that you should not try to close and commit concurrently from different threads.
Wanna open a quick PR or issue with a patch? Thanks, Mike On Wed, Dec 5, 2018, 4:06 AM Boris Petrov <bo...@profuzdigital.com wrote: > So you're saying that this race-condition is OK? Nowhere in the > documentation does it say that these two calls should be synchronized... > at least that must be fixed. :) > > On 12/1/18 6:25 PM, Michael McCandless wrote: > > I think if you call commit and close concurrently the results are > undefined > > and so this is acceptable. > > > > Mike > > > > On Thu, Nov 29, 2018 at 5:53 AM Boris Petrov <bo...@profuzdigital.com> > > wrote: > > > >> Hi all, > >> > >> We're getting the following exception: > >> > >> java.lang.IllegalStateException: cannot close: prepareCommit was already > >> called with no corresponding call to commit > >> at > org.apache.lucene.index.IndexWriter.shutdown(IndexWriter.java:1025) > >> at org.apache.lucene.index.IndexWriter.close(IndexWriter.java:1078) > >> ... > >> > >> We are only calling "commit" on IndexWriter. By reading the code I can > >> see that if you call IndexWriter.commit in parallel to > >> IndexWriter.close, it is possible to get this exception. More > >> specifically, after setting "IndexWriter.pendingCommit" on line 4779 > >> (this is using Lucene 7.5.0) and before setting it to "null" on line > >> 4793 this problem could happen. > >> > >> Is this by design or is it a bug? > >> > >> Thanks, > >> > >> Boris Petrov > >> > >> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org > >> For additional commands, e-mail: java-user-h...@lucene.apache.org > >> > >> -- > > Mike McCandless > > > > http://blog.mikemccandless.com > > >