Fix test to check for close / closing and wait for merge threads to close the writer if concurrency strikes

This commit is contained in:
Simon Willnauer 2020-05-11 17:46:50 +02:00
parent aeb9f6ce5b
commit bd004d2c57
1 changed files with 5 additions and 1 deletions

View File

@ -113,9 +113,13 @@ public class TestConcurrentMergeScheduler extends LuceneTestCase {
ioe.printStackTrace(System.out);
}
failure.clearDoFail();
assertTrue(writer.isClosed());
// make sure we are closed or closing - if we are unlucky a merge does
// the actual closing for us. this is rare but might happen since the
// tragicEvent is checked by IFD and that might throw during a merge
expectThrows(AlreadyClosedException.class, writer::ensureOpen);
// Abort should have closed the deleter:
assertTrue(writer.isDeleterClosed());
writer.close(); // now wait for the close to actually happen if a merge thread did the close.
break outer;
}
}