Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
4.6
-
None
-
New, Patch Available
Description
We saw failures on jenkins that complain about processing events in the IW while the IW is already closed:
com.carrotsearch.randomizedtesting.UncaughtExceptionError: Captured an uncaught exception in thread: Thread[id=193, name=Thread-133, state=RUNNABLE, group=TGRP-TestIndexWriterWithThreads] Caused by: java.lang.RuntimeException: org.apache.lucene.store.AlreadyClosedException: this IndexWriter is closed at __randomizedtesting.SeedInfo.seed([3FAF37E1AFFB2502]:0) at org.apache.lucene.index.TestIndexWriterWithThreads$1.run(TestIndexWriterWithThreads.java:619) Caused by: org.apache.lucene.store.AlreadyClosedException: this IndexWriter is closed at org.apache.lucene.index.IndexWriter.ensureOpen(IndexWriter.java:645) at org.apache.lucene.index.IndexWriter.numDeletedDocs(IndexWriter.java:622) at org.apache.lucene.index.IndexWriter.segString(IndexWriter.java:4265) at org.apache.lucene.index.IndexWriter.publishFlushedSegment(IndexWriter.java:2324) at org.apache.lucene.index.DocumentsWriterFlushQueue$FlushTicket.publishFlushedSegment(DocumentsWriterFlushQueue.java:198) at org.apache.lucene.index.DocumentsWriterFlushQueue$FlushTicket.finishFlush(DocumentsWriterFlushQueue.java:213) at org.apache.lucene.index.DocumentsWriterFlushQueue$SegmentFlushTicket.publish(DocumentsWriterFlushQueue.java:249) at org.apache.lucene.index.DocumentsWriterFlushQueue.innerPurge(DocumentsWriterFlushQueue.java:116) at org.apache.lucene.index.DocumentsWriterFlushQueue.forcePurge(DocumentsWriterFlushQueue.java:138) at org.apache.lucene.index.DocumentsWriter.purgeBuffer(DocumentsWriter.java:185) at org.apache.lucene.index.IndexWriter.purge(IndexWriter.java:4634) at org.apache.lucene.index.DocumentsWriter$ForcedPurgeEvent.process(DocumentsWriter.java:701) at org.apache.lucene.index.IndexWriter.processEvents(IndexWriter.java:4665) at org.apache.lucene.index.IndexWriter.processEvents(IndexWriter.java:4657) at org.apache.lucene.index.IndexWriter.closeInternal(IndexWriter.java:1067) at org.apache.lucene.index.IndexWriter.rollbackInternal(IndexWriter.java:2106) at org.apache.lucene.index.IndexWriter.rollback(IndexWriter.java:2024) at org.apache.lucene.index.TestIndexWriterWithThreads$1.run(TestIndexWriterWithThreads.java:575)
we need to process the events before we enter the finally block in IW#closeInternal