You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by si...@apache.org on 2020/05/11 15:47:53 UTC
[lucene-solr] branch master updated: Fix test to check for close /
closing and wait for merge threads to close the writer if concurrency
strikes
This is an automated email from the ASF dual-hosted git repository.
simonw pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git
The following commit(s) were added to refs/heads/master by this push:
new bd004d2 Fix test to check for close / closing and wait for merge threads to close the writer if concurrency strikes
bd004d2 is described below
commit bd004d2c5763052f74a930caa279ffdb41d2a9a6
Author: Simon Willnauer <si...@apache.org>
AuthorDate: Mon May 11 17:46:50 2020 +0200
Fix test to check for close / closing and wait for merge threads to close the writer if concurrency strikes
---
.../test/org/apache/lucene/index/TestConcurrentMergeScheduler.java | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestConcurrentMergeScheduler.java b/lucene/core/src/test/org/apache/lucene/index/TestConcurrentMergeScheduler.java
index 050aed7..a31194c 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestConcurrentMergeScheduler.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestConcurrentMergeScheduler.java
@@ -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;
}
}