From 132f389f2d9c5b0f8984fa26ea753f3e5fe96164 Mon Sep 17 00:00:00 2001 From: Mark Robert Miller Date: Thu, 6 Feb 2014 23:41:06 +0000 Subject: [PATCH] LUCENE-5434: This test method uses a non nrt reader. git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1565485 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/lucene/index/TestNRTThreads.java | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/lucene/core/src/test/org/apache/lucene/index/TestNRTThreads.java b/lucene/core/src/test/org/apache/lucene/index/TestNRTThreads.java index e33b2aab72f..abc6c3e06c3 100644 --- a/lucene/core/src/test/org/apache/lucene/index/TestNRTThreads.java +++ b/lucene/core/src/test/org/apache/lucene/index/TestNRTThreads.java @@ -24,6 +24,7 @@ import org.apache.lucene.search.IndexSearcher; import org.apache.lucene.store.Directory; import org.apache.lucene.store.MockDirectoryWrapper; import org.apache.lucene.util.LuceneTestCase.SuppressCodecs; +import org.junit.Before; // TODO // - mix in forceMerge, addIndexes @@ -32,6 +33,14 @@ import org.apache.lucene.util.LuceneTestCase.SuppressCodecs; @SuppressCodecs({ "SimpleText", "Memory", "Direct" }) public class TestNRTThreads extends ThreadedIndexingAndSearchingTestCase { + private boolean useNonNrtReaders = true; + + @Before + public void setUp() throws Exception { + super.setUp(); + useNonNrtReaders = random().nextBoolean(); + } + @Override protected void doSearching(ExecutorService es, long stopTime) throws Exception { @@ -93,7 +102,7 @@ public class TestNRTThreads extends ThreadedIndexingAndSearchingTestCase { @Override protected Directory getDirectory(Directory in) { assert in instanceof MockDirectoryWrapper; - ((MockDirectoryWrapper) in).setAssertNoDeleteOpenFile(true); + if (!useNonNrtReaders) ((MockDirectoryWrapper) in).setAssertNoDeleteOpenFile(true); return in; } @@ -123,11 +132,15 @@ public class TestNRTThreads extends ThreadedIndexingAndSearchingTestCase { @Override protected IndexSearcher getFinalSearcher() throws Exception { final IndexReader r2; - if (random().nextBoolean()) { - r2 = writer.getReader(); + if (useNonNrtReaders) { + if (random().nextBoolean()) { + r2 = writer.getReader(); + } else { + writer.commit(); + r2 = DirectoryReader.open(dir); + } } else { - writer.commit(); - r2 = DirectoryReader.open(dir); + r2 = writer.getReader(); } return newSearcher(r2); }