You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mi...@apache.org on 2015/09/13 19:39:37 UTC
svn commit: r1702796 -
/lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java
Author: mikemccand
Date: Sun Sep 13 17:39:37 2015
New Revision: 1702796
URL: http://svn.apache.org/r1702796
Log:
LUCENE-6802: fix test bug: if CMS hits tragic exception, writer is already closed
Modified:
lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java
Modified: lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java?rev=1702796&r1=1702795&r2=1702796&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java (original)
+++ lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java Sun Sep 13 17:39:37 2015
@@ -1931,22 +1931,6 @@ public class TestIndexWriterExceptions e
}
if (w == null) {
IndexWriterConfig iwc = newIndexWriterConfig(new MockAnalyzer(random()));
- final MergeScheduler ms = iwc.getMergeScheduler();
- if (ms instanceof ConcurrentMergeScheduler) {
- final ConcurrentMergeScheduler suppressFakeIOE = new ConcurrentMergeScheduler() {
- @Override
- protected void handleMergeException(Directory dir, Throwable exc) {
- // suppress only FakeIOException:
- if (!(exc instanceof FakeIOException)) {
- super.handleMergeException(dir, exc);
- }
- }
- };
- final ConcurrentMergeScheduler cms = (ConcurrentMergeScheduler) ms;
- suppressFakeIOE.setMaxMergesAndThreads(cms.getMaxMergeCount(), cms.getMaxThreadCount());
- iwc.setMergeScheduler(suppressFakeIOE);
- }
-
w = new RandomIndexWriter(random(), dir, iwc);
// Since we hit exc during merging, a partial
// forceMerge can easily return when there are still
@@ -2047,6 +2031,18 @@ public class TestIndexWriterExceptions e
}
shouldFail.set(false);
+ if (w != null) {
+ MergeScheduler ms = w.w.getConfig().getMergeScheduler();
+ if (ms instanceof ConcurrentMergeScheduler) {
+ ((ConcurrentMergeScheduler) ms).sync();
+ }
+
+ if (w.w.getTragicException() != null) {
+ // Tragic exc in CMS closed the writer
+ w = null;
+ }
+ }
+
IndexReader r;
if (doClose && w != null) {