From caedbf9ef967eb96863c7832fcc8777f2697eed1 Mon Sep 17 00:00:00 2001 From: Robert Muir Date: Tue, 6 Dec 2011 16:36:41 +0000 Subject: [PATCH] LUCENE-3606: clear up some nocommits git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene3606@1211005 13f79535-47bb-0310-9956-ffa450edef68 --- .../lucene/search/TestMatchAllDocsQuery.java | 16 ++++++---- .../lucene/store/TestBufferedIndexInput.java | 32 +++++++++++-------- .../apache/solr/core/IndexReaderFactory.java | 3 +- .../java/org/apache/solr/core/SolrCore.java | 9 ++---- .../solr/core/StandardIndexReaderFactory.java | 7 +--- .../apache/solr/search/SolrIndexSearcher.java | 4 +-- .../solr/core/AlternateDirectoryTest.java | 4 +-- .../solr/core/TestQuerySenderListener.java | 2 +- .../solr/core/TestQuerySenderNoQuery.java | 2 +- 9 files changed, 37 insertions(+), 42 deletions(-) diff --git a/lucene/src/test/org/apache/lucene/search/TestMatchAllDocsQuery.java b/lucene/src/test/org/apache/lucene/search/TestMatchAllDocsQuery.java index 3e46c8e02f7..731cfc973e3 100644 --- a/lucene/src/test/org/apache/lucene/search/TestMatchAllDocsQuery.java +++ b/lucene/src/test/org/apache/lucene/search/TestMatchAllDocsQuery.java @@ -44,9 +44,8 @@ public class TestMatchAllDocsQuery extends LuceneTestCase { addDoc("one", iw, 1f); addDoc("two", iw, 20f); addDoc("three four", iw, 300f); - iw.close(); + IndexReader ir = IndexReader.open(iw, true); - IndexReader ir = IndexReader.open(dir); IndexSearcher is = newSearcher(ir); ScoreDoc[] hits; @@ -70,13 +69,16 @@ public class TestMatchAllDocsQuery extends LuceneTestCase { hits = is.search(bq, null, 1000).scoreDocs; assertEquals(1, hits.length); - /* nocommit: fix this test to delete a document with IW - // delete a document: - is.getIndexReader().deleteDocument(0); + iw.deleteDocuments(new Term("key", "one")); + is.close(); + ir.close(); + ir = IndexReader.open(iw, true); + is = newSearcher(ir); + hits = is.search(new MatchAllDocsQuery(), null, 1000).scoreDocs; assertEquals(2, hits.length); - */ - + + iw.close(); is.close(); ir.close(); dir.close(); diff --git a/lucene/src/test/org/apache/lucene/store/TestBufferedIndexInput.java b/lucene/src/test/org/apache/lucene/store/TestBufferedIndexInput.java index f5733ddc151..6b5c3b1946e 100755 --- a/lucene/src/test/org/apache/lucene/store/TestBufferedIndexInput.java +++ b/lucene/src/test/org/apache/lucene/store/TestBufferedIndexInput.java @@ -240,7 +240,6 @@ public class TestBufferedIndexInput extends LuceneTestCase { } } - /* nocommit: fix deletions to use IW public void testSetBufferSize() throws IOException { File indexDir = _TestUtil.getTempDir("testSetBufferSize"); MockFSDirectory dir = new MockFSDirectory(indexDir, random); @@ -257,25 +256,33 @@ public class TestBufferedIndexInput extends LuceneTestCase { doc.add(newField("id", "" + i, TextField.TYPE_STORED)); writer.addDocument(doc); } - writer.close(); dir.allIndexInputs.clear(); - IndexReader reader = IndexReader.open(dir); + IndexReader reader = IndexReader.open(writer, true); Term aaa = new Term("content", "aaa"); Term bbb = new Term("content", "bbb"); - Term ccc = new Term("content", "ccc"); - assertEquals(37, reader.docFreq(ccc)); - reader.deleteDocument(0); - assertEquals(37, reader.docFreq(aaa)); + + reader.close(); + dir.tweakBufferSizes(); - reader.deleteDocument(4); - assertEquals(reader.docFreq(bbb), 37); - dir.tweakBufferSizes(); - + writer.deleteDocuments(new Term("id", "0")); + reader = IndexReader.open(writer, true); IndexSearcher searcher = newSearcher(reader); ScoreDoc[] hits = searcher.search(new TermQuery(bbb), null, 1000).scoreDocs; dir.tweakBufferSizes(); + assertEquals(36, hits.length); + + reader.close(); + searcher.close(); + + dir.tweakBufferSizes(); + writer.deleteDocuments(new Term("id", "4")); + reader = IndexReader.open(writer, true); + searcher = newSearcher(reader); + + hits = searcher.search(new TermQuery(bbb), null, 1000).scoreDocs; + dir.tweakBufferSizes(); assertEquals(35, hits.length); dir.tweakBufferSizes(); hits = searcher.search(new TermQuery(new Term("id", "33")), null, 1000).scoreDocs; @@ -284,13 +291,12 @@ public class TestBufferedIndexInput extends LuceneTestCase { hits = searcher.search(new TermQuery(aaa), null, 1000).scoreDocs; dir.tweakBufferSizes(); assertEquals(35, hits.length); + writer.close(); searcher.close(); - reader.close(); } finally { _TestUtil.rmDir(indexDir); } } - */ private static class MockFSDirectory extends Directory { diff --git a/solr/core/src/java/org/apache/solr/core/IndexReaderFactory.java b/solr/core/src/java/org/apache/solr/core/IndexReaderFactory.java index 4204a9ebb4f..644ac11a96b 100644 --- a/solr/core/src/java/org/apache/solr/core/IndexReaderFactory.java +++ b/solr/core/src/java/org/apache/solr/core/IndexReaderFactory.java @@ -57,10 +57,9 @@ public abstract class IndexReaderFactory implements NamedListInitializedPlugin { * Creates a new IndexReader instance using the given Directory. * * @param indexDir indexDir index location - * @param readOnly return readOnly IndexReader * @return An IndexReader instance * @throws IOException */ - public abstract IndexReader newReader(Directory indexDir, boolean readOnly) + public abstract IndexReader newReader(Directory indexDir) throws IOException; } diff --git a/solr/core/src/java/org/apache/solr/core/SolrCore.java b/solr/core/src/java/org/apache/solr/core/SolrCore.java index 3effc622d01..fd1b1488c87 100644 --- a/solr/core/src/java/org/apache/solr/core/SolrCore.java +++ b/solr/core/src/java/org/apache/solr/core/SolrCore.java @@ -314,12 +314,7 @@ public final class SolrCore implements SolrInfoMBean { // gets a non-caching searcher public SolrIndexSearcher newSearcher(String name) throws IOException { - return newSearcher(name, false); - } - - // gets a non-caching searcher - public SolrIndexSearcher newSearcher(String name, boolean readOnly) throws IOException { - return new SolrIndexSearcher(this, getNewIndexDir(), schema, getSolrConfig().mainIndexConfig, name, readOnly, false, directoryFactory); + return new SolrIndexSearcher(this, getNewIndexDir(), schema, getSolrConfig().mainIndexConfig, name, false, directoryFactory); } @@ -1146,7 +1141,7 @@ public final class SolrCore implements SolrInfoMBean { } else { // verbose("non-reopen START:"); - tmp = new SolrIndexSearcher(this, newIndexDir, schema, getSolrConfig().mainIndexConfig, "main", true, true, directoryFactory); + tmp = new SolrIndexSearcher(this, newIndexDir, schema, getSolrConfig().mainIndexConfig, "main", true, directoryFactory); // verbose("non-reopen DONE: searcher=",tmp); } } catch (Throwable th) { diff --git a/solr/core/src/java/org/apache/solr/core/StandardIndexReaderFactory.java b/solr/core/src/java/org/apache/solr/core/StandardIndexReaderFactory.java index 9157b38eaa4..870e99f193a 100644 --- a/solr/core/src/java/org/apache/solr/core/StandardIndexReaderFactory.java +++ b/solr/core/src/java/org/apache/solr/core/StandardIndexReaderFactory.java @@ -29,13 +29,8 @@ import org.apache.lucene.store.Directory; */ public class StandardIndexReaderFactory extends IndexReaderFactory { - /* (non-Javadoc) - * @see org.apache.solr.core.IndexReaderFactory#newReader(org.apache.lucene.store.Directory, boolean) - */ @Override - public IndexReader newReader(Directory indexDir, boolean readOnly) - throws IOException { - assert readOnly; // nocommit: readOnly is ignored - remove + public IndexReader newReader(Directory indexDir) throws IOException { return IndexReader.open(indexDir, termInfosIndexDivisor); } } diff --git a/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java b/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java index 1c583ae2256..250b64b183f 100644 --- a/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java +++ b/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java @@ -107,9 +107,9 @@ public class SolrIndexSearcher extends IndexSearcher implements SolrInfoMBean { private Collection storedHighlightFieldNames; private DirectoryFactory directoryFactory; - public SolrIndexSearcher(SolrCore core, String path, IndexSchema schema, SolrIndexConfig config, String name, boolean readOnly, boolean enableCache, DirectoryFactory directoryFactory) throws IOException { + public SolrIndexSearcher(SolrCore core, String path, IndexSchema schema, SolrIndexConfig config, String name, boolean enableCache, DirectoryFactory directoryFactory) throws IOException { // we don't need to reserve the directory because we get it from the factory - this(core, schema,name, core.getIndexReaderFactory().newReader(directoryFactory.get(path, config.lockType), readOnly), true, enableCache, false, directoryFactory); + this(core, schema,name, core.getIndexReaderFactory().newReader(directoryFactory.get(path, config.lockType)), true, enableCache, false, directoryFactory); } public SolrIndexSearcher(SolrCore core, IndexSchema schema, String name, IndexReader r, boolean closeReader, boolean enableCache, boolean reserveDirectory, DirectoryFactory directoryFactory) { diff --git a/solr/core/src/test/org/apache/solr/core/AlternateDirectoryTest.java b/solr/core/src/test/org/apache/solr/core/AlternateDirectoryTest.java index d80f519449f..75d0d020af2 100755 --- a/solr/core/src/test/org/apache/solr/core/AlternateDirectoryTest.java +++ b/solr/core/src/test/org/apache/solr/core/AlternateDirectoryTest.java @@ -61,9 +61,7 @@ public class AlternateDirectoryTest extends SolrTestCaseJ4 { static volatile boolean newReaderCalled = false; @Override - public IndexReader newReader(Directory indexDir, boolean readOnly) - throws IOException { - assert readOnly; // nocommit: readOnly is ignored - remove + public IndexReader newReader(Directory indexDir) throws IOException { TestIndexReaderFactory.newReaderCalled = true; return IndexReader.open(indexDir); } diff --git a/solr/core/src/test/org/apache/solr/core/TestQuerySenderListener.java b/solr/core/src/test/org/apache/solr/core/TestQuerySenderListener.java index f0ed0e4d1f3..83eb8bf943c 100644 --- a/solr/core/src/test/org/apache/solr/core/TestQuerySenderListener.java +++ b/solr/core/src/test/org/apache/solr/core/TestQuerySenderListener.java @@ -75,7 +75,7 @@ public class TestQuerySenderListener extends SolrTestCaseJ4 { assertNotNull("Event is null", evt); assertTrue(evt + " is not equal to " + EventParams.FIRST_SEARCHER, evt.equals(EventParams.FIRST_SEARCHER) == true); - SolrIndexSearcher newSearcher = new SolrIndexSearcher(core, core.getNewIndexDir(), core.getSchema(), core.getSolrConfig().mainIndexConfig, "testQuerySenderListener", true, false, core.getDirectoryFactory()); + SolrIndexSearcher newSearcher = new SolrIndexSearcher(core, core.getNewIndexDir(), core.getSchema(), core.getSolrConfig().mainIndexConfig, "testQuerySenderListener", false, core.getDirectoryFactory()); qsl.newSearcher(newSearcher, currentSearcher); evt = mock.req.getParams().get(EventParams.EVENT); diff --git a/solr/core/src/test/org/apache/solr/core/TestQuerySenderNoQuery.java b/solr/core/src/test/org/apache/solr/core/TestQuerySenderNoQuery.java index 7ff8c42c646..e87b44c832c 100644 --- a/solr/core/src/test/org/apache/solr/core/TestQuerySenderNoQuery.java +++ b/solr/core/src/test/org/apache/solr/core/TestQuerySenderNoQuery.java @@ -75,7 +75,7 @@ public class TestQuerySenderNoQuery extends SolrTestCaseJ4 { assertNotNull("Mock is null", mock); assertNull("Req (firstsearcher) is not null", mock.req); - SolrIndexSearcher newSearcher = new SolrIndexSearcher(core, core.getNewIndexDir(), core.getSchema(), core.getSolrConfig().mainIndexConfig, "testQuerySenderNoQuery", true, false, core.getDirectoryFactory()); + SolrIndexSearcher newSearcher = new SolrIndexSearcher(core, core.getNewIndexDir(), core.getSchema(), core.getSolrConfig().mainIndexConfig, "testQuerySenderNoQuery", false, core.getDirectoryFactory()); qsl.newSearcher(newSearcher, currentSearcher); // get newSearcher. assertNull("Req (newsearcher) is not null", mock.req);