You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by Shai Erera <se...@gmail.com> on 2010/04/11 14:29:26 UTC
Re: svn commit: r932868 - in /lucene/dev/trunk/lucene: ./
backwards/src/test/org/apache/lucene/ backwards/src/test/org/apache/lucene/index/
backwards/src/test/org/apache/lucene/store/ contrib/xml-query-parser/src/test/org/apache/lucene/xmlparser/buil
Robert notified me that Solr tests are failing due to that commit. I
apologize but I haven't run Solr tests (still was on a Lucene only
checkout). I'm currently checking out Solr code and will run the test and
investigate. Just FYI
Again - I apologize. My bad !
Shai
On Sun, Apr 11, 2010 at 2:31 PM, <sh...@apache.org> wrote:
> Author: shaie
> Date: Sun Apr 11 11:31:09 2010
> New Revision: 932868
>
> URL: http://svn.apache.org/viewvc?rev=932868&view=rev
> Log:
> LUCENE-2386: IndexWriter commits unnecessarily on fresh Directory
>
> Added:
>
> lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/IndexNotFoundException.java
> (with props)
> Modified:
> lucene/dev/trunk/lucene/CHANGES.txt
>
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/TestSnapshotDeletionPolicy.java
>
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java
>
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestCrash.java
>
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestDeletionPolicy.java
>
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestIndexFileDeleter.java
>
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestIndexReader.java
>
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestIndexReaderReopen.java
>
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestIndexWriter.java
>
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestIndexWriterDelete.java
>
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java
>
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestIndexWriterReader.java
>
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestStressIndexing.java
>
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestStressIndexing2.java
>
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/store/TestBufferedIndexInput.java
>
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/store/TestLockFactory.java
>
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/store/TestWindowsMMap.java
>
> lucene/dev/trunk/lucene/contrib/xml-query-parser/src/test/org/apache/lucene/xmlparser/builders/TestNumericRangeFilterBuilder.java
>
> lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/DirectoryReader.java
>
> lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/IndexFileDeleter.java
>
> lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/IndexWriter.java
>
> lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/SegmentInfos.java
>
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/TestSnapshotDeletionPolicy.java
>
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestCrash.java
>
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestDeletionPolicy.java
>
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexFileDeleter.java
>
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexReader.java
>
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexReaderReopen.java
>
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriter.java
>
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterDelete.java
>
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java
>
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterReader.java
>
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestNoDeletionPolicy.java
>
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestStressIndexing.java
>
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestStressIndexing2.java
>
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/store/TestBufferedIndexInput.java
>
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/store/TestLockFactory.java
>
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/store/TestWindowsMMap.java
>
> Modified: lucene/dev/trunk/lucene/CHANGES.txt
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/CHANGES.txt?rev=932868&r1=932867&r2=932868&view=diff
>
> ==============================================================================
> --- lucene/dev/trunk/lucene/CHANGES.txt (original)
> +++ lucene/dev/trunk/lucene/CHANGES.txt Sun Apr 11 11:31:09 2010
> @@ -105,6 +105,12 @@ Changes in backwards compatibility polic
> of incrementToken(), tokenStream(), and reusableTokenStream().
> (Uwe Schindler, Robert Muir)
>
> +* LUCENE-2386: IndexWriter no longer performs an empty commit upon new
> index
> + creation. Previously, if you passed an empty Directory and set OpenMode
> to
> + CREATE*, IndexWriter would make a first empty commit. If you need that
> + behavior you can call writer.commit() immediately after you create it.
> + (Shai Erera, Mike McCandless)
> +
> Changes in runtime behavior
>
> * LUCENE-1923: Made IndexReader.toString() produce something
>
> Modified:
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/TestSnapshotDeletionPolicy.java
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/TestSnapshotDeletionPolicy.java?rev=932868&r1=932867&r2=932868&view=diff
>
> ==============================================================================
> ---
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/TestSnapshotDeletionPolicy.java
> (original)
> +++
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/TestSnapshotDeletionPolicy.java
> Sun Apr 11 11:31:09 2010
> @@ -113,7 +113,7 @@ public class TestSnapshotDeletionPolicy
>
> SnapshotDeletionPolicy dp = new SnapshotDeletionPolicy(new
> KeepOnlyLastCommitDeletionPolicy());
> final IndexWriter writer = new IndexWriter(dir, new
> StandardAnalyzer(org.apache.lucene.util.Version.LUCENE_CURRENT), dp,
> IndexWriter.MaxFieldLength.UNLIMITED);
> -
> + writer.commit();
> // Force frequent flushes
> writer.setMaxBufferedDocs(2);
>
>
> Modified:
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java?rev=932868&r1=932867&r2=932868&view=diff
>
> ==============================================================================
> ---
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java
> (original)
> +++
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java
> Sun Apr 11 11:31:09 2010
> @@ -553,7 +553,7 @@ public class TestBackwardsCompatibility
> expected = new String[] {"_0.cfs",
> "_0_1.del",
> "_0_1.s" + contentFieldIndex,
> - "segments_3",
> + "segments_2",
> "segments.gen"};
>
> String[] actual = dir.listAll();
>
> Modified:
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestCrash.java
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestCrash.java?rev=932868&r1=932867&r2=932868&view=diff
>
> ==============================================================================
> ---
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestCrash.java
> (original)
> +++
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestCrash.java
> Sun Apr 11 11:31:09 2010
> @@ -25,20 +25,24 @@ import org.apache.lucene.store.MockRAMDi
> import org.apache.lucene.store.NoLockFactory;
> import org.apache.lucene.document.Document;
> import org.apache.lucene.document.Field;
> +import org.apache.lucene.index.IndexWriter;
>
> public class TestCrash extends LuceneTestCase {
>
> - private IndexWriter initIndex() throws IOException {
> - return initIndex(new MockRAMDirectory());
> + private IndexWriter initIndex(boolean initialCommit) throws IOException
> {
> + return initIndex(new MockRAMDirectory(), initialCommit);
> }
>
> - private IndexWriter initIndex(MockRAMDirectory dir) throws IOException {
> + private IndexWriter initIndex(MockRAMDirectory dir, boolean
> initialCommit) throws IOException {
> dir.setLockFactory(NoLockFactory.getNoLockFactory());
>
> IndexWriter writer = new IndexWriter(dir, new WhitespaceAnalyzer(),
> IndexWriter.MaxFieldLength.UNLIMITED);
> //writer.setMaxBufferedDocs(2);
> writer.setMaxBufferedDocs(10);
> ((ConcurrentMergeScheduler)
> writer.getMergeScheduler()).setSuppressExceptions();
> + if (initialCommit) {
> + writer.commit();
> + }
>
> Document doc = new Document();
> doc.add(new Field("content", "aaa", Field.Store.YES,
> Field.Index.ANALYZED));
> @@ -58,7 +62,7 @@ public class TestCrash extends LuceneTes
> }
>
> public void testCrashWhileIndexing() throws IOException {
> - IndexWriter writer = initIndex();
> + IndexWriter writer = initIndex(true);
> MockRAMDirectory dir = (MockRAMDirectory) writer.getDirectory();
> crash(writer);
> IndexReader reader = IndexReader.open(dir, false);
> @@ -66,11 +70,11 @@ public class TestCrash extends LuceneTes
> }
>
> public void testWriterAfterCrash() throws IOException {
> - IndexWriter writer = initIndex();
> + IndexWriter writer = initIndex(true);
> MockRAMDirectory dir = (MockRAMDirectory) writer.getDirectory();
> dir.setPreventDoubleWrite(false);
> crash(writer);
> - writer = initIndex(dir);
> + writer = initIndex(dir, false);
> writer.close();
>
> IndexReader reader = IndexReader.open(dir, false);
> @@ -78,10 +82,10 @@ public class TestCrash extends LuceneTes
> }
>
> public void testCrashAfterReopen() throws IOException {
> - IndexWriter writer = initIndex();
> + IndexWriter writer = initIndex(false);
> MockRAMDirectory dir = (MockRAMDirectory) writer.getDirectory();
> writer.close();
> - writer = initIndex(dir);
> + writer = initIndex(dir, false);
> assertEquals(314, writer.maxDoc());
> crash(writer);
>
> @@ -100,7 +104,7 @@ public class TestCrash extends LuceneTes
>
> public void testCrashAfterClose() throws IOException {
>
> - IndexWriter writer = initIndex();
> + IndexWriter writer = initIndex(false);
> MockRAMDirectory dir = (MockRAMDirectory) writer.getDirectory();
>
> writer.close();
> @@ -119,7 +123,7 @@ public class TestCrash extends LuceneTes
>
> public void testCrashAfterCloseNoWait() throws IOException {
>
> - IndexWriter writer = initIndex();
> + IndexWriter writer = initIndex(false);
> MockRAMDirectory dir = (MockRAMDirectory) writer.getDirectory();
>
> writer.close(false);
> @@ -138,7 +142,7 @@ public class TestCrash extends LuceneTes
>
> public void testCrashReaderDeletes() throws IOException {
>
> - IndexWriter writer = initIndex();
> + IndexWriter writer = initIndex(false);
> MockRAMDirectory dir = (MockRAMDirectory) writer.getDirectory();
>
> writer.close(false);
> @@ -159,7 +163,7 @@ public class TestCrash extends LuceneTes
>
> public void testCrashReaderDeletesAfterClose() throws IOException {
>
> - IndexWriter writer = initIndex();
> + IndexWriter writer = initIndex(false);
> MockRAMDirectory dir = (MockRAMDirectory) writer.getDirectory();
>
> writer.close(false);
>
> Modified:
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestDeletionPolicy.java
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestDeletionPolicy.java?rev=932868&r1=932867&r2=932868&view=diff
>
> ==============================================================================
> ---
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestDeletionPolicy.java
> (original)
> +++
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestDeletionPolicy.java
> Sun Apr 11 11:31:09 2010
> @@ -290,7 +290,7 @@ public class TestDeletionPolicy extends
> writer.optimize();
> writer.close();
>
> - assertEquals(2, policy.numOnInit);
> + assertEquals(1, policy.numOnInit);
>
> // If we are not auto committing then there should
> // be exactly 2 commits (one per close above):
> @@ -298,8 +298,8 @@ public class TestDeletionPolicy extends
>
> // Test listCommits
> Collection commits = IndexReader.listCommits(dir);
> - // 1 from opening writer + 2 from closing writer
> - assertEquals(3, commits.size());
> + // 2 from closing writer
> + assertEquals(2, commits.size());
>
> Iterator it = commits.iterator();
> // Make sure we can open a reader on each commit:
> @@ -357,7 +357,7 @@ public class TestDeletionPolicy extends
> writer.close();
>
> Collection commits = IndexReader.listCommits(dir);
> - assertEquals(6, commits.size());
> + assertEquals(5, commits.size());
> IndexCommit lastCommit = null;
> Iterator it = commits.iterator();
> while(it.hasNext()) {
> @@ -374,7 +374,7 @@ public class TestDeletionPolicy extends
> writer.optimize();
> writer.close();
>
> - assertEquals(7, IndexReader.listCommits(dir).size());
> + assertEquals(6, IndexReader.listCommits(dir).size());
>
> // Now open writer on the commit just before optimize:
> writer = new IndexWriter(dir, new WhitespaceAnalyzer(), policy,
> IndexWriter.MaxFieldLength.LIMITED, lastCommit);
> @@ -395,7 +395,7 @@ public class TestDeletionPolicy extends
> writer.close();
>
> // Now 8 because we made another commit
> - assertEquals(8, IndexReader.listCommits(dir).size());
> + assertEquals(7, IndexReader.listCommits(dir).size());
>
> r = IndexReader.open(dir, true);
> // Not optimized because we rolled it back, and now only
> @@ -465,7 +465,7 @@ public class TestDeletionPolicy extends
> writer.optimize();
> writer.close();
>
> - assertEquals(2, policy.numOnInit);
> + assertEquals(1, policy.numOnInit);
> // If we are not auto committing then there should
> // be exactly 2 commits (one per close above):
> assertEquals(2, policy.numOnCommit);
> @@ -506,7 +506,7 @@ public class TestDeletionPolicy extends
> }
>
> assertTrue(policy.numDelete > 0);
> - assertEquals(N+1, policy.numOnInit);
> + assertEquals(N, policy.numOnInit);
> assertEquals(N+1, policy.numOnCommit);
>
> // Simplistic check: just verify only the past N segments_N's still
> @@ -580,8 +580,8 @@ public class TestDeletionPolicy extends
> // this is a commit
> writer.close();
>
> - assertEquals(2*(N+2), policy.numOnInit);
> - assertEquals(2*(N+2)-1, policy.numOnCommit);
> + assertEquals(2*(N+1)+1, policy.numOnInit);
> + assertEquals(2*(N+2), policy.numOnCommit);
>
> IndexSearcher searcher = new IndexSearcher(dir, false);
> ScoreDoc[] hits = searcher.search(query, null, 1000).scoreDocs;
> @@ -678,8 +678,8 @@ public class TestDeletionPolicy extends
> writer.close();
> }
>
> - assertEquals(1+3*(N+1), policy.numOnInit);
> - assertEquals(3*(N+1), policy.numOnCommit);
> + assertEquals(3*(N+1), policy.numOnInit);
> + assertEquals(3*(N+1)+1, policy.numOnCommit);
>
> IndexSearcher searcher = new IndexSearcher(dir, false);
> ScoreDoc[] hits = searcher.search(query, null, 1000).scoreDocs;
>
> Modified:
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestIndexFileDeleter.java
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestIndexFileDeleter.java?rev=932868&r1=932867&r2=932868&view=diff
>
> ==============================================================================
> ---
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestIndexFileDeleter.java
> (original)
> +++
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestIndexFileDeleter.java
> Sun Apr 11 11:31:09 2010
> @@ -136,11 +136,11 @@ public class TestIndexFileDeleter extend
> copyFile(dir, "_0.cfs", "deletable");
>
> // Create some old segments file:
> - copyFile(dir, "segments_3", "segments");
> - copyFile(dir, "segments_3", "segments_2");
> + copyFile(dir, "segments_2", "segments");
> + copyFile(dir, "segments_2", "segments_1");
>
> // Create a bogus cfs file shadowing a non-cfs segment:
> - copyFile(dir, "_2.cfs", "_3.cfs");
> + copyFile(dir, "_1.cfs", "_2.cfs");
>
> String[] filesPre = dir.listAll();
>
>
> Modified:
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestIndexReader.java
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestIndexReader.java?rev=932868&r1=932867&r2=932868&view=diff
>
> ==============================================================================
> ---
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestIndexReader.java
> (original)
> +++
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestIndexReader.java
> Sun Apr 11 11:31:09 2010
> @@ -39,6 +39,7 @@ import org.apache.lucene.document.Field;
> import org.apache.lucene.document.FieldSelector;
> import org.apache.lucene.document.Fieldable;
> import org.apache.lucene.document.SetBasedFieldSelector;
> +import org.apache.lucene.index.IndexWriter;
> import org.apache.lucene.index.IndexReader.FieldOption;
> import org.apache.lucene.search.FieldCache;
> import org.apache.lucene.search.IndexSearcher;
> @@ -474,6 +475,7 @@ public class TestIndexReader extends Luc
>
> // add 11 documents with term : aaa
> writer = new IndexWriter(dir, new WhitespaceAnalyzer(), true,
> IndexWriter.MaxFieldLength.LIMITED);
> + writer.commit();
> for (int i = 0; i < 11; i++)
> {
> addDoc(writer, searchTerm.text());
> @@ -1765,6 +1767,7 @@ public class TestIndexReader extends Luc
> public void testPrepareCommitIsCurrent() throws Throwable {
> Directory dir = new MockRAMDirectory();
> IndexWriter writer = new IndexWriter(dir, new WhitespaceAnalyzer(),
> IndexWriter.MaxFieldLength.UNLIMITED);
> + writer.commit();
> Document doc = new Document();
> writer.addDocument(doc);
> IndexReader r = IndexReader.open(dir, true);
>
> Modified:
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestIndexReaderReopen.java
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestIndexReaderReopen.java?rev=932868&r1=932867&r2=932868&view=diff
>
> ==============================================================================
> ---
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestIndexReaderReopen.java
> (original)
> +++
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestIndexReaderReopen.java
> Sun Apr 11 11:31:09 2010
> @@ -36,6 +36,7 @@ import org.apache.lucene.document.Docume
> import org.apache.lucene.document.Field;
> import org.apache.lucene.document.Field.Index;
> import org.apache.lucene.document.Field.Store;
> +import org.apache.lucene.index.IndexWriter;
> import org.apache.lucene.index.IndexWriter.MaxFieldLength;
> import org.apache.lucene.search.IndexSearcher;
> import org.apache.lucene.search.ScoreDoc;
> @@ -172,6 +173,7 @@ public class TestIndexReaderReopen exten
> private void doTestReopenWithCommit (Directory dir, boolean withReopen)
> throws IOException {
> IndexWriter iwriter = new IndexWriter(dir, new KeywordAnalyzer(), true,
> MaxFieldLength.LIMITED);
> iwriter.setMergeScheduler(new SerialMergeScheduler());
> + iwriter.commit();
> IndexReader reader = IndexReader.open(dir, false);
> try {
> int M = 3;
>
> Modified:
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestIndexWriter.java
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestIndexWriter.java?rev=932868&r1=932867&r2=932868&view=diff
>
> ==============================================================================
> ---
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestIndexWriter.java
> (original)
> +++
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestIndexWriter.java
> Sun Apr 11 11:31:09 2010
> @@ -47,6 +47,7 @@ import org.apache.lucene.analysis.tokena
> import
> org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
> import org.apache.lucene.document.Document;
> import org.apache.lucene.document.Field;
> +import org.apache.lucene.index.IndexWriter;
> import org.apache.lucene.search.IndexSearcher;
> import org.apache.lucene.search.PhraseQuery;
> import org.apache.lucene.search.Query;
> @@ -783,7 +784,7 @@ public class TestIndexWriter extends Luc
> writer.close();
>
> long gen = SegmentInfos.getCurrentSegmentGeneration(dir);
> - assertTrue("segment generation should be > 1 but got " + gen, gen
> > 1);
> + assertTrue("segment generation should be > 0 but got " + gen, gen
> > 0);
>
> // Make the next segments file, with last byte
> // missing, to simulate a writer that crashed while
> @@ -843,7 +844,7 @@ public class TestIndexWriter extends Luc
> writer.close();
>
> long gen = SegmentInfos.getCurrentSegmentGeneration(dir);
> - assertTrue("segment generation should be > 1 but got " + gen, gen
> > 1);
> + assertTrue("segment generation should be > 0 but got " + gen, gen
> > 0);
>
> String fileNameIn = SegmentInfos.getCurrentSegmentFileName(dir);
> String fileNameOut =
> IndexFileNames.fileNameFromGeneration(IndexFileNames.SEGMENTS,
> @@ -908,7 +909,7 @@ public class TestIndexWriter extends Luc
> writer.close();
>
> long gen = SegmentInfos.getCurrentSegmentGeneration(dir);
> - assertTrue("segment generation should be > 1 but got " + gen, gen
> > 1);
> + assertTrue("segment generation should be > 0 but got " + gen, gen
> > 0);
>
> String[] files = dir.listAll();
> for(int i=0;i<files.length;i++) {
> @@ -2324,7 +2325,7 @@ public class TestIndexWriter extends Luc
> public void testImmediateDiskFull() throws IOException {
> MockRAMDirectory dir = new MockRAMDirectory();
> IndexWriter writer = new IndexWriter(dir, new WhitespaceAnalyzer(),
> IndexWriter.MaxFieldLength.LIMITED);
> - dir.setMaxSizeInBytes(dir.getRecomputedActualSizeInBytes());
> + dir.setMaxSizeInBytes(Math.max(1,
> dir.getRecomputedActualSizeInBytes()));
> writer.setMaxBufferedDocs(2);
> final Document doc = new Document();
> doc.add(new Field("field", "aaa bbb ccc ddd eee fff ggg hhh iii jjj",
> Field.Store.YES, Field.Index.ANALYZED,
> Field.TermVector.WITH_POSITIONS_OFFSETS));
> @@ -2647,7 +2648,7 @@ public class TestIndexWriter extends Luc
> writer.close();
>
> long gen = SegmentInfos.getCurrentSegmentGeneration(dir);
> - assertTrue("segment generation should be > 1 but got " + gen, gen >
> 1);
> + assertTrue("segment generation should be > 0 but got " + gen, gen >
> 0);
>
> final String segmentsFileName =
> SegmentInfos.getCurrentSegmentFileName(dir);
> IndexInput in = dir.openInput(segmentsFileName);
> @@ -2675,7 +2676,8 @@ public class TestIndexWriter extends Luc
> IndexWriter writer = new IndexWriter(dir, new WhitespaceAnalyzer(),
> IndexWriter.MaxFieldLength.LIMITED);
> writer.setMaxBufferedDocs(2);
> writer.setMergeFactor(5);
> -
> + writer.commit();
> +
> for (int i = 0; i < 23; i++)
> addDoc(writer);
>
> @@ -3542,7 +3544,8 @@ public class TestIndexWriter extends Luc
> IndexWriter writer = new IndexWriter(dir, new WhitespaceAnalyzer(),
> IndexWriter.MaxFieldLength.LIMITED);
> writer.setMaxBufferedDocs(2);
> writer.setMergeFactor(5);
> -
> + writer.commit();
> +
> for (int i = 0; i < 23; i++)
> addDoc(writer);
>
> @@ -3595,7 +3598,8 @@ public class TestIndexWriter extends Luc
>
> writer.setMaxBufferedDocs(2);
> writer.setMergeFactor(5);
> -
> + writer.commit();
> +
> for (int i = 0; i < 23; i++)
> addDoc(writer);
>
> @@ -3679,6 +3683,7 @@ public class TestIndexWriter extends Luc
>
> dir2 = new MockRAMDirectory();
> writer2 = new IndexWriter(dir2, new WhitespaceAnalyzer(),
> IndexWriter.MaxFieldLength.LIMITED);
> + writer2.commit();
> cms = (ConcurrentMergeScheduler) writer2.getMergeScheduler();
>
> readers = new IndexReader[NUM_COPY];
>
> Modified:
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestIndexWriterDelete.java
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestIndexWriterDelete.java?rev=932868&r1=932867&r2=932868&view=diff
>
> ==============================================================================
> ---
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestIndexWriterDelete.java
> (original)
> +++
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestIndexWriterDelete.java
> Sun Apr 11 11:31:09 2010
> @@ -23,6 +23,7 @@ import java.util.Arrays;
> import org.apache.lucene.analysis.WhitespaceAnalyzer;
> import org.apache.lucene.document.Document;
> import org.apache.lucene.document.Field;
> +import org.apache.lucene.index.IndexWriter;
> import org.apache.lucene.search.IndexSearcher;
> import org.apache.lucene.search.ScoreDoc;
> import org.apache.lucene.search.TermQuery;
> @@ -764,7 +765,7 @@ public class TestIndexWriterDelete exten
> MockRAMDirectory dir = new MockRAMDirectory();
> IndexWriter modifier = new IndexWriter(dir,
> new WhitespaceAnalyzer(), true,
> IndexWriter.MaxFieldLength.UNLIMITED);
> -
> + modifier.commit();
> dir.failOn(failure.reset());
>
> for (int i = 0; i < keywords.length; i++) {
>
> Modified:
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java?rev=932868&r1=932867&r2=932868&view=diff
>
> ==============================================================================
> ---
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java
> (original)
> +++
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java
> Sun Apr 11 11:31:09 2010
> @@ -138,7 +138,8 @@ public class TestIndexWriterExceptions e
> ((ConcurrentMergeScheduler)
> writer.getMergeScheduler()).setSuppressExceptions();
> //writer.setMaxBufferedDocs(10);
> writer.setRAMBufferSizeMB(0.1);
> -
> + writer.commit();
> +
> if (DEBUG)
> writer.setInfoStream(System.out);
>
> @@ -176,6 +177,7 @@ public class TestIndexWriterExceptions e
> ((ConcurrentMergeScheduler)
> writer.getMergeScheduler()).setSuppressExceptions();
> //writer.setMaxBufferedDocs(10);
> writer.setRAMBufferSizeMB(0.2);
> + writer.commit();
>
> if (DEBUG)
> writer.setInfoStream(System.out);
>
> Modified:
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestIndexWriterReader.java
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestIndexWriterReader.java?rev=932868&r1=932867&r2=932868&view=diff
>
> ==============================================================================
> ---
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestIndexWriterReader.java
> (original)
> +++
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestIndexWriterReader.java
> Sun Apr 11 11:31:09 2010
> @@ -30,6 +30,7 @@ import org.apache.lucene.document.Field;
> import org.apache.lucene.document.Field.Index;
> import org.apache.lucene.document.Field.Store;
> import org.apache.lucene.document.Field.TermVector;
> +import org.apache.lucene.index.IndexWriter;
> import org.apache.lucene.search.TermQuery;
> import org.apache.lucene.search.IndexSearcher;
> import org.apache.lucene.search.Query;
> @@ -642,6 +643,7 @@ public class TestIndexWriterReader exten
> Directory dir1 = new MockRAMDirectory();
> IndexWriter writer = new IndexWriter(dir1, new WhitespaceAnalyzer(),
>
> IndexWriter.MaxFieldLength.LIMITED);
> + writer.commit();
> writer.setInfoStream(infoStream);
>
> // create the index
>
> Modified:
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestStressIndexing.java
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestStressIndexing.java?rev=932868&r1=932867&r2=932868&view=diff
>
> ==============================================================================
> ---
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestStressIndexing.java
> (original)
> +++
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestStressIndexing.java
> Sun Apr 11 11:31:09 2010
> @@ -19,6 +19,7 @@ package org.apache.lucene.index;
> import org.apache.lucene.util.*;
> import org.apache.lucene.store.*;
> import org.apache.lucene.document.*;
> +import org.apache.lucene.index.IndexWriter;
> import org.apache.lucene.analysis.*;
> import org.apache.lucene.search.*;
> import org.apache.lucene.queryParser.*;
> @@ -121,7 +122,7 @@ public class TestStressIndexing extends
> */
> public void runStressTest(Directory directory, MergeScheduler
> mergeScheduler) throws Exception {
> IndexWriter modifier = new IndexWriter(directory, ANALYZER, true,
> IndexWriter.MaxFieldLength.UNLIMITED);
> -
> + modifier.commit();
> modifier.setMaxBufferedDocs(10);
>
> TimedThread[] threads = new TimedThread[4];
>
> Modified:
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestStressIndexing2.java
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestStressIndexing2.java?rev=932868&r1=932867&r2=932868&view=diff
>
> ==============================================================================
> ---
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestStressIndexing2.java
> (original)
> +++
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/index/TestStressIndexing2.java
> Sun Apr 11 11:31:09 2010
> @@ -16,6 +16,7 @@ package org.apache.lucene.index;
>
> import org.apache.lucene.store.*;
> import org.apache.lucene.document.*;
> +import org.apache.lucene.index.IndexWriter;
> import org.apache.lucene.analysis.*;
>
> import org.apache.lucene.util.LuceneTestCase;
> @@ -124,6 +125,7 @@ public class TestStressIndexing2 extends
> public DocsAndWriter indexRandomIWReader(int nThreads, int iterations,
> int range, Directory dir) throws IOException, InterruptedException {
> Map docs = new HashMap();
> IndexWriter w = new MockIndexWriter(dir, new WhitespaceAnalyzer(),
> true, IndexWriter.MaxFieldLength.UNLIMITED);
> + w.commit();
> w.setUseCompoundFile(false);
>
> /***
>
> Modified:
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/store/TestBufferedIndexInput.java
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/store/TestBufferedIndexInput.java?rev=932868&r1=932867&r2=932868&view=diff
>
> ==============================================================================
> ---
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/store/TestBufferedIndexInput.java
> (original)
> +++
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/store/TestBufferedIndexInput.java
> Sun Apr 11 11:31:09 2010
> @@ -241,6 +241,7 @@ public class TestBufferedIndexInput exte
>
> public void testSetBufferSize() throws IOException {
> File indexDir = new File(System.getProperty("tempDir"),
> "testSetBufferSize");
> + indexDir.mkdirs(); // required for this MockFSDir since we don't
> commit on IW creation anymore.
> MockFSDirectory dir = new MockFSDirectory(indexDir, newRandom());
> try {
> IndexWriter writer = new IndexWriter(dir, new WhitespaceAnalyzer(),
> true, IndexWriter.MaxFieldLength.LIMITED);
>
> Modified:
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/store/TestLockFactory.java
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/store/TestLockFactory.java?rev=932868&r1=932867&r2=932868&view=diff
>
> ==============================================================================
> ---
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/store/TestLockFactory.java
> (original)
> +++
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/store/TestLockFactory.java
> Sun Apr 11 11:31:09 2010
> @@ -85,7 +85,8 @@ public class TestLockFactory extends Luc
>
> IndexWriter writer = new IndexWriter(dir, new WhitespaceAnalyzer(),
> true,
>
> IndexWriter.MaxFieldLength.LIMITED);
> -
> + writer.commit(); // required so the second open succeed
> +
> // Create a 2nd IndexWriter. This is normally not allowed but it
> should run through since we're not
> // using any locks:
> IndexWriter writer2 = null;
>
> Modified:
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/store/TestWindowsMMap.java
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/store/TestWindowsMMap.java?rev=932868&r1=932867&r2=932868&view=diff
>
> ==============================================================================
> ---
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/store/TestWindowsMMap.java
> (original)
> +++
> lucene/dev/trunk/lucene/backwards/src/test/org/apache/lucene/store/TestWindowsMMap.java
> Sun Apr 11 11:31:09 2010
> @@ -64,14 +64,18 @@ public class TestWindowsMMap extends Luc
> new
> File(System.getProperty("tempDir"),"testLuceneMmap").getAbsolutePath();
>
> public void testMmapIndex() throws Exception {
> - FSDirectory storeDirectory;
> - storeDirectory = new MMapDirectory(new File(storePathname), null);
> + // sometimes the directory is not cleaned by rmDir, because on Windows
> it
> + // may take some time until the files are finally dereferenced. So
> clean the
> + // directory up front, or otherwise new IndexWriter will fail.
> + rmDir(new File(storePathname));
> + FSDirectory storeDirectory = new MMapDirectory(new
> File(storePathname), null);
>
> // plan to add a set of useful stopwords, consider changing some of the
> // interior filters.
> StandardAnalyzer analyzer = new
> StandardAnalyzer(org.apache.lucene.util.Version.LUCENE_CURRENT,
> Collections.emptySet());
> // TODO: something about lock timeouts and leftover locks.
> IndexWriter writer = new IndexWriter(storeDirectory, analyzer, true,
> IndexWriter.MaxFieldLength.LIMITED);
> + writer.commit();
> IndexSearcher searcher = new IndexSearcher(storeDirectory, true);
>
> for(int dx = 0; dx < 1000; dx ++) {
> @@ -83,14 +87,16 @@ public class TestWindowsMMap extends Luc
>
> searcher.close();
> writer.close();
> - rmDir(new File(storePathname));
> + rmDir(new File(storePathname));
> }
>
> - private void rmDir(File dir) {
> - File[] files = dir.listFiles();
> - for (int i = 0; i < files.length; i++) {
> - files[i].delete();
> - }
> - dir.delete();
> - }
> + private void rmDir(File dir) {
> + if (!dir.exists()) {
> + return;
> + }
> + for (File file : dir.listFiles()) {
> + file.delete();
> + }
> + dir.delete();
> + }
> }
>
> Modified:
> lucene/dev/trunk/lucene/contrib/xml-query-parser/src/test/org/apache/lucene/xmlparser/builders/TestNumericRangeFilterBuilder.java
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/contrib/xml-query-parser/src/test/org/apache/lucene/xmlparser/builders/TestNumericRangeFilterBuilder.java?rev=932868&r1=932867&r2=932868&view=diff
>
> ==============================================================================
> ---
> lucene/dev/trunk/lucene/contrib/xml-query-parser/src/test/org/apache/lucene/xmlparser/builders/TestNumericRangeFilterBuilder.java
> (original)
> +++
> lucene/dev/trunk/lucene/contrib/xml-query-parser/src/test/org/apache/lucene/xmlparser/builders/TestNumericRangeFilterBuilder.java
> Sun Apr 11 11:31:09 2010
> @@ -29,6 +29,7 @@ import org.apache.lucene.util.LuceneTest
>
> import org.apache.lucene.index.IndexReader;
> import org.apache.lucene.index.IndexWriter;
> +import org.apache.lucene.index.IndexWriterConfig;
> import org.apache.lucene.index.IndexWriter.MaxFieldLength;
> import org.apache.lucene.search.Filter;
> import org.apache.lucene.search.NumericRangeFilter;
> @@ -62,7 +63,8 @@ public class TestNumericRangeFilterBuild
> Filter filter =
> filterBuilder.getFilter(doc.getDocumentElement());
>
> RAMDirectory ramDir = new RAMDirectory();
> - IndexWriter writer = new IndexWriter(ramDir, null,
> MaxFieldLength.UNLIMITED);
> + IndexWriter writer = new IndexWriter(ramDir, new
> IndexWriterConfig(TEST_VERSION_CURRENT, null));
> + writer.commit();
> try
> {
> IndexReader reader = IndexReader.open(ramDir, true);
>
> Modified:
> lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/DirectoryReader.java
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/DirectoryReader.java?rev=932868&r1=932867&r2=932868&view=diff
>
> ==============================================================================
> ---
> lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/DirectoryReader.java
> (original)
> +++
> lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/DirectoryReader.java
> Sun Apr 11 11:31:09 2010
> @@ -1030,7 +1030,11 @@ class DirectoryReader extends IndexReade
> Collection<IndexCommit> commits = new ArrayList<IndexCommit>();
>
> SegmentInfos latest = new SegmentInfos();
> - latest.read(dir, codecs);
> + try {
> + latest.read(dir, codecs);
> + } catch (IndexNotFoundException e) {
> + return Collections.emptyList();
> + }
> final long currentGen = latest.getGeneration();
>
> commits.add(new ReaderCommit(latest, dir));
>
> Modified:
> lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/IndexFileDeleter.java
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/IndexFileDeleter.java?rev=932868&r1=932867&r2=932868&view=diff
>
> ==============================================================================
> ---
> lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/IndexFileDeleter.java
> (original)
> +++
> lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/IndexFileDeleter.java
> Sun Apr 11 11:31:09 2010
> @@ -144,16 +144,13 @@ final class IndexFileDeleter {
> long currentGen = segmentInfos.getGeneration();
> indexFilenameFilter = new IndexFileNameFilter(codecs);
>
> - String[] files = directory.listAll();
> -
> CommitPoint currentCommitPoint = null;
> -
> - for(int i=0;i<files.length;i++) {
> -
> - String fileName = files[i];
> + boolean seenIndexFiles = false;
> + for (String fileName : directory.listAll()) {
>
> if ((indexFilenameFilter.accept(null, fileName)) &&
> !fileName.endsWith("write.lock") &&
> !fileName.equals(IndexFileNames.SEGMENTS_GEN)) {
> -
> + seenIndexFiles = true;
> +
> // Add this file to refCounts with initial count 0:
> getRefCount(fileName);
>
> @@ -195,7 +192,10 @@ final class IndexFileDeleter {
> }
> }
>
> - if (currentCommitPoint == null) {
> + // If we haven't seen any Lucene files, then currentCommitPoint is
> expected
> + // to be null, because it means it's a fresh Directory. Therefore it
> cannot
> + // be any NFS cache issues - so just ignore.
> + if (currentCommitPoint == null && seenIndexFiles) {
> // We did not in fact see the segments_N file
> // corresponding to the segmentInfos that was passed
> // in. Yet, it must exist, because our caller holds
> @@ -235,13 +235,15 @@ final class IndexFileDeleter {
>
> // Finally, give policy a chance to remove things on
> // startup:
> - policy.onInit(commits);
> + if (seenIndexFiles) {
> + policy.onInit(commits);
> + }
>
> // Always protect the incoming segmentInfos since
> // sometime it may not be the most recent commit
> checkpoint(segmentInfos, false);
>
> - startingCommitDeleted = currentCommitPoint.isDeleted();
> + startingCommitDeleted = currentCommitPoint == null ? false :
> currentCommitPoint.isDeleted();
>
> deleteCommits();
> }
>
> Added:
> lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/IndexNotFoundException.java
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/IndexNotFoundException.java?rev=932868&view=auto
>
> ==============================================================================
> ---
> lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/IndexNotFoundException.java
> (added)
> +++
> lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/IndexNotFoundException.java
> Sun Apr 11 11:31:09 2010
> @@ -0,0 +1,15 @@
> +package org.apache.lucene.index;
> +
> +import java.io.FileNotFoundException;
> +
> +/**
> + * Signals that no index was found in the Directory. Possibly because the
> + * directory is empty, however can slso indicate an index corruption.
> + */
> +public final class IndexNotFoundException extends FileNotFoundException {
> +
> + public IndexNotFoundException(String msg) {
> + super(msg);
> + }
> +
> +}
>
> Propchange:
> lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/IndexNotFoundException.java
>
> ------------------------------------------------------------------------------
> svn:eol-style = native
>
> Propchange:
> lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/IndexNotFoundException.java
>
> ------------------------------------------------------------------------------
> svn:keywords = Date Author Id Revision HeadURL
>
> Modified:
> lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/IndexWriter.java
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/IndexWriter.java?rev=932868&r1=932867&r2=932868&view=diff
>
> ==============================================================================
> ---
> lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/IndexWriter.java
> (original)
> +++
> lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/IndexWriter.java
> Sun Apr 11 11:31:09 2010
> @@ -1115,25 +1115,16 @@ public class IndexWriter implements Clos
> // against an index that's currently open for
> // searching. In this case we write the next
> // segments_N file with no segments:
> - boolean doCommit;
> try {
> segmentInfos.read(directory, codecs);
> segmentInfos.clear();
> - doCommit = false;
> } catch (IOException e) {
> // Likely this means it's a fresh directory
> - doCommit = true;
> }
>
> - if (doCommit) {
> - // Only commit if there is no segments file in
> - // this dir already.
> - segmentInfos.commit(directory);
> - } else {
> - // Record that we have a change (zero out all
> - // segments) pending:
> - changeCount++;
> - }
> + // Record that we have a change (zero out all
> + // segments) pending:
> + changeCount++;
> } else {
> segmentInfos.read(directory, codecs);
>
>
> Modified:
> lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/SegmentInfos.java
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/SegmentInfos.java?rev=932868&r1=932867&r2=932868&view=diff
>
> ==============================================================================
> ---
> lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/SegmentInfos.java
> (original)
> +++
> lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/SegmentInfos.java
> Sun Apr 11 11:31:09 2010
> @@ -649,7 +649,7 @@ public final class SegmentInfos extends
>
> if (gen == -1) {
> // Neither approach found a generation
> - throw new FileNotFoundException("no segments* file found in "
> + directory + ": files: " + Arrays.toString(files));
> + throw new IndexNotFoundException("no segments* file found in "
> + directory + ": files: " + Arrays.toString(files));
> }
> }
>
>
> Modified:
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/TestSnapshotDeletionPolicy.java
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/TestSnapshotDeletionPolicy.java?rev=932868&r1=932867&r2=932868&view=diff
>
> ==============================================================================
> ---
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/TestSnapshotDeletionPolicy.java
> (original)
> +++
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/TestSnapshotDeletionPolicy.java
> Sun Apr 11 11:31:09 2010
> @@ -45,8 +45,8 @@ import org.apache.lucene.util._TestUtil;
> // http://lucenebook.com
> //
>
> -public class TestSnapshotDeletionPolicy extends LuceneTestCase
> -{
> +public class TestSnapshotDeletionPolicy extends LuceneTestCase {
> +
> public static final String INDEX_PATH = "test.snapshots";
>
> public void testSnapshotDeletionPolicy() throws Exception {
> @@ -119,7 +119,8 @@ public class TestSnapshotDeletionPolicy
> TEST_VERSION_CURRENT,
> new
> StandardAnalyzer(TEST_VERSION_CURRENT)).setIndexDeletionPolicy(dp)
> .setMaxBufferedDocs(2));
> -
> + writer.commit();
> +
> final Thread t = new Thread() {
> @Override
> public void run() {
>
> Modified:
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java?rev=932868&r1=932867&r2=932868&view=diff
>
> ==============================================================================
> ---
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java
> (original)
> +++
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java
> Sun Apr 11 11:31:09 2010
> @@ -558,11 +558,10 @@ public class TestBackwardsCompatibility
> assertTrue("could not locate the 'content' field number in the _2.cfs
> segment", contentFieldIndex != -1);
>
> // Now verify file names:
> - String[] expected;
> - expected = new String[] {"_0.cfs",
> + String[] expected = new String[] {"_0.cfs",
> "_0_1.del",
> "_0_1.s" + contentFieldIndex,
> - "segments_3",
> + "segments_2",
> "segments.gen"};
>
> String[] actual = dir.listAll();
>
> Modified:
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestCrash.java
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestCrash.java?rev=932868&r1=932867&r2=932868&view=diff
>
> ==============================================================================
> --- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestCrash.java
> (original)
> +++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestCrash.java
> Sun Apr 11 11:31:09 2010
> @@ -28,16 +28,19 @@ import org.apache.lucene.document.Field;
>
> public class TestCrash extends LuceneTestCase {
>
> - private IndexWriter initIndex() throws IOException {
> - return initIndex(new MockRAMDirectory());
> + private IndexWriter initIndex(boolean initialCommit) throws IOException
> {
> + return initIndex(new MockRAMDirectory(), initialCommit);
> }
>
> - private IndexWriter initIndex(MockRAMDirectory dir) throws IOException {
> + private IndexWriter initIndex(MockRAMDirectory dir, boolean
> initialCommit) throws IOException {
> dir.setLockFactory(NoLockFactory.getNoLockFactory());
>
> IndexWriter writer = new IndexWriter(dir, new
> IndexWriterConfig(TEST_VERSION_CURRENT, new
> WhitespaceAnalyzer(TEST_VERSION_CURRENT)).setMaxBufferedDocs(10));
> ((ConcurrentMergeScheduler)
> writer.getConfig().getMergeScheduler()).setSuppressExceptions();
> -
> + if (initialCommit) {
> + writer.commit();
> + }
> +
> Document doc = new Document();
> doc.add(new Field("content", "aaa", Field.Store.YES,
> Field.Index.ANALYZED));
> doc.add(new Field("id", "0", Field.Store.YES, Field.Index.ANALYZED));
> @@ -56,7 +59,10 @@ public class TestCrash extends LuceneTes
> }
>
> public void testCrashWhileIndexing() throws IOException {
> - IndexWriter writer = initIndex();
> + // This test relies on being able to open a reader before any commit
> + // happened, so we must create an initial commit just to allow that,
> but
> + // before any documents were added.
> + IndexWriter writer = initIndex(true);
> MockRAMDirectory dir = (MockRAMDirectory) writer.getDirectory();
> crash(writer);
> IndexReader reader = IndexReader.open(dir, false);
> @@ -64,11 +70,14 @@ public class TestCrash extends LuceneTes
> }
>
> public void testWriterAfterCrash() throws IOException {
> - IndexWriter writer = initIndex();
> + // This test relies on being able to open a reader before any commit
> + // happened, so we must create an initial commit just to allow that,
> but
> + // before any documents were added.
> + IndexWriter writer = initIndex(true);
> MockRAMDirectory dir = (MockRAMDirectory) writer.getDirectory();
> dir.setPreventDoubleWrite(false);
> crash(writer);
> - writer = initIndex(dir);
> + writer = initIndex(dir, false);
> writer.close();
>
> IndexReader reader = IndexReader.open(dir, false);
> @@ -76,10 +85,10 @@ public class TestCrash extends LuceneTes
> }
>
> public void testCrashAfterReopen() throws IOException {
> - IndexWriter writer = initIndex();
> + IndexWriter writer = initIndex(false);
> MockRAMDirectory dir = (MockRAMDirectory) writer.getDirectory();
> writer.close();
> - writer = initIndex(dir);
> + writer = initIndex(dir, false);
> assertEquals(314, writer.maxDoc());
> crash(writer);
>
> @@ -98,7 +107,7 @@ public class TestCrash extends LuceneTes
>
> public void testCrashAfterClose() throws IOException {
>
> - IndexWriter writer = initIndex();
> + IndexWriter writer = initIndex(false);
> MockRAMDirectory dir = (MockRAMDirectory) writer.getDirectory();
>
> writer.close();
> @@ -117,7 +126,7 @@ public class TestCrash extends LuceneTes
>
> public void testCrashAfterCloseNoWait() throws IOException {
>
> - IndexWriter writer = initIndex();
> + IndexWriter writer = initIndex(false);
> MockRAMDirectory dir = (MockRAMDirectory) writer.getDirectory();
>
> writer.close(false);
> @@ -136,7 +145,7 @@ public class TestCrash extends LuceneTes
>
> public void testCrashReaderDeletes() throws IOException {
>
> - IndexWriter writer = initIndex();
> + IndexWriter writer = initIndex(false);
> MockRAMDirectory dir = (MockRAMDirectory) writer.getDirectory();
>
> writer.close(false);
> @@ -157,7 +166,7 @@ public class TestCrash extends LuceneTes
>
> public void testCrashReaderDeletesAfterClose() throws IOException {
>
> - IndexWriter writer = initIndex();
> + IndexWriter writer = initIndex(false);
> MockRAMDirectory dir = (MockRAMDirectory) writer.getDirectory();
>
> writer.close(false);
>
> Modified:
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestDeletionPolicy.java
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestDeletionPolicy.java?rev=932868&r1=932867&r2=932868&view=diff
>
> ==============================================================================
> ---
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestDeletionPolicy.java
> (original)
> +++
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestDeletionPolicy.java
> Sun Apr 11 11:31:09 2010
> @@ -305,7 +305,7 @@ public class TestDeletionPolicy extends
> writer.optimize();
> writer.close();
>
> - assertEquals(2, policy.numOnInit);
> + assertEquals(1, policy.numOnInit);
>
> // If we are not auto committing then there should
> // be exactly 2 commits (one per close above):
> @@ -313,8 +313,8 @@ public class TestDeletionPolicy extends
>
> // Test listCommits
> Collection<IndexCommit> commits = IndexReader.listCommits(dir);
> - // 1 from opening writer + 2 from closing writer
> - assertEquals(3, commits.size());
> + // 2 from closing writer
> + assertEquals(2, commits.size());
>
> // Make sure we can open a reader on each commit:
> for (final IndexCommit commit : commits) {
> @@ -374,7 +374,7 @@ public class TestDeletionPolicy extends
> writer.close();
>
> Collection<IndexCommit> commits = IndexReader.listCommits(dir);
> - assertEquals(6, commits.size());
> + assertEquals(5, commits.size());
> IndexCommit lastCommit = null;
> for (final IndexCommit commit : commits) {
> if (lastCommit == null || commit.getGeneration() >
> lastCommit.getGeneration())
> @@ -389,7 +389,7 @@ public class TestDeletionPolicy extends
> writer.optimize();
> writer.close();
>
> - assertEquals(7, IndexReader.listCommits(dir).size());
> + assertEquals(6, IndexReader.listCommits(dir).size());
>
> // Now open writer on the commit just before optimize:
> writer = new IndexWriter(dir, new
> IndexWriterConfig(TEST_VERSION_CURRENT, new
> WhitespaceAnalyzer(TEST_VERSION_CURRENT))
> @@ -412,7 +412,7 @@ public class TestDeletionPolicy extends
> writer.close();
>
> // Now 8 because we made another commit
> - assertEquals(8, IndexReader.listCommits(dir).size());
> + assertEquals(7, IndexReader.listCommits(dir).size());
>
> r = IndexReader.open(dir, true);
> // Not optimized because we rolled it back, and now only
> @@ -491,7 +491,7 @@ public class TestDeletionPolicy extends
> writer.optimize();
> writer.close();
>
> - assertEquals(2, policy.numOnInit);
> + assertEquals(1, policy.numOnInit);
> // If we are not auto committing then there should
> // be exactly 2 commits (one per close above):
> assertEquals(2, policy.numOnCommit);
> @@ -537,7 +537,7 @@ public class TestDeletionPolicy extends
> }
>
> assertTrue(policy.numDelete > 0);
> - assertEquals(N+1, policy.numOnInit);
> + assertEquals(N, policy.numOnInit);
> assertEquals(N+1, policy.numOnCommit);
>
> // Simplistic check: just verify only the past N segments_N's still
> @@ -625,8 +625,8 @@ public class TestDeletionPolicy extends
> // this is a commit
> writer.close();
>
> - assertEquals(2*(N+2), policy.numOnInit);
> - assertEquals(2*(N+2)-1, policy.numOnCommit);
> + assertEquals(2*(N+1)+1, policy.numOnInit);
> + assertEquals(2*(N+2), policy.numOnCommit);
>
> IndexSearcher searcher = new IndexSearcher(dir, false);
> ScoreDoc[] hits = searcher.search(query, null, 1000).scoreDocs;
> @@ -735,8 +735,8 @@ public class TestDeletionPolicy extends
> writer.close();
> }
>
> - assertEquals(1+3*(N+1), policy.numOnInit);
> - assertEquals(3*(N+1), policy.numOnCommit);
> + assertEquals(3*(N+1), policy.numOnInit);
> + assertEquals(3*(N+1)+1, policy.numOnCommit);
>
> IndexSearcher searcher = new IndexSearcher(dir, false);
> ScoreDoc[] hits = searcher.search(query, null, 1000).scoreDocs;
>
> Modified:
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexFileDeleter.java
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexFileDeleter.java?rev=932868&r1=932867&r2=932868&view=diff
>
> ==============================================================================
> ---
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexFileDeleter.java
> (original)
> +++
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexFileDeleter.java
> Sun Apr 11 11:31:09 2010
> @@ -138,11 +138,11 @@ public class TestIndexFileDeleter extend
> copyFile(dir, "_0.cfs", "deletable");
>
> // Create some old segments file:
> - copyFile(dir, "segments_3", "segments");
> - copyFile(dir, "segments_3", "segments_2");
> + copyFile(dir, "segments_2", "segments");
> + copyFile(dir, "segments_2", "segments_1");
>
> // Create a bogus cfs file shadowing a non-cfs segment:
> - copyFile(dir, "_2.cfs", "_3.cfs");
> + copyFile(dir, "_1.cfs", "_2.cfs");
>
> String[] filesPre = dir.listAll();
>
>
> Modified:
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexReader.java
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexReader.java?rev=932868&r1=932867&r2=932868&view=diff
>
> ==============================================================================
> ---
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexReader.java
> (original)
> +++
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexReader.java
> Sun Apr 11 11:31:09 2010
> @@ -466,18 +466,17 @@ public class TestIndexReader extends Luc
> public void testLockObtainFailed() throws IOException {
> Directory dir = new RAMDirectory();
>
> - IndexWriter writer = null;
> - IndexReader reader = null;
> Term searchTerm = new Term("content", "aaa");
>
> // add 11 documents with term : aaa
> - writer = new IndexWriter(dir, new
> IndexWriterConfig(TEST_VERSION_CURRENT, new
> WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
> + IndexWriter writer = new IndexWriter(dir, new
> IndexWriterConfig(TEST_VERSION_CURRENT, new
> WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
> + writer.commit();
> for (int i = 0; i < 11; i++) {
> addDoc(writer, searchTerm.text());
> }
>
> // Create reader:
> - reader = IndexReader.open(dir, false);
> + IndexReader reader = IndexReader.open(dir, false);
>
> // Try to make changes
> try {
> @@ -1749,6 +1748,7 @@ public class TestIndexReader extends Luc
> Directory dir = new MockRAMDirectory();
> IndexWriter writer = new IndexWriter(dir, new IndexWriterConfig(
> TEST_VERSION_CURRENT, new
> WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
> + writer.commit();
> Document doc = new Document();
> writer.addDocument(doc);
> IndexReader r = IndexReader.open(dir, true);
>
> Modified:
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexReaderReopen.java
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexReaderReopen.java?rev=932868&r1=932867&r2=932868&view=diff
>
> ==============================================================================
> ---
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexReaderReopen.java
> (original)
> +++
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexReaderReopen.java
> Sun Apr 11 11:31:09 2010
> @@ -174,6 +174,7 @@ public class TestIndexReaderReopen exten
> IndexWriter iwriter = new IndexWriter(dir, new IndexWriterConfig(
> TEST_VERSION_CURRENT, new KeywordAnalyzer()).setOpenMode(
> OpenMode.CREATE).setMergeScheduler(new SerialMergeScheduler()));
> + iwriter.commit();
> IndexReader reader = IndexReader.open(dir, false);
> try {
> int M = 3;
>
> Modified:
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriter.java
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriter.java?rev=932868&r1=932867&r2=932868&view=diff
>
> ==============================================================================
> ---
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriter.java
> (original)
> +++
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriter.java
> Sun Apr 11 11:31:09 2010
> @@ -778,7 +778,7 @@ public class TestIndexWriter extends Luc
> writer.close();
>
> long gen = SegmentInfos.getCurrentSegmentGeneration(dir);
> - assertTrue("segment generation should be > 1 but got " + gen, gen
> > 1);
> + assertTrue("segment generation should be > 0 but got " + gen, gen
> > 0);
>
> // Make the next segments file, with last byte
> // missing, to simulate a writer that crashed while
> @@ -838,7 +838,7 @@ public class TestIndexWriter extends Luc
> writer.close();
>
> long gen = SegmentInfos.getCurrentSegmentGeneration(dir);
> - assertTrue("segment generation should be > 1 but got " + gen, gen
> > 1);
> + assertTrue("segment generation should be > 0 but got " + gen, gen
> > 0);
>
> String fileNameIn = SegmentInfos.getCurrentSegmentFileName(dir);
> String fileNameOut =
> IndexFileNames.fileNameFromGeneration(IndexFileNames.SEGMENTS,
> @@ -903,7 +903,7 @@ public class TestIndexWriter extends Luc
> writer.close();
>
> long gen = SegmentInfos.getCurrentSegmentGeneration(dir);
> - assertTrue("segment generation should be > 1 but got " + gen, gen
> > 1);
> + assertTrue("segment generation should be > 0 but got " + gen, gen
> > 0);
>
> String[] files = dir.listAll();
> for(int i=0;i<files.length;i++) {
> @@ -2326,7 +2326,7 @@ public class TestIndexWriter extends Luc
> public void testImmediateDiskFull() throws IOException {
> MockRAMDirectory dir = new MockRAMDirectory();
> IndexWriter writer = new IndexWriter(dir, new
> IndexWriterConfig(TEST_VERSION_CURRENT, new
> WhitespaceAnalyzer(TEST_VERSION_CURRENT)).setMaxBufferedDocs(2));
> - dir.setMaxSizeInBytes(dir.getRecomputedActualSizeInBytes());
> + dir.setMaxSizeInBytes(Math.max(1,
> dir.getRecomputedActualSizeInBytes()));
> final Document doc = new Document();
> doc.add(new Field("field", "aaa bbb ccc ddd eee fff ggg hhh iii jjj",
> Field.Store.YES, Field.Index.ANALYZED,
> Field.TermVector.WITH_POSITIONS_OFFSETS));
> try {
> @@ -2644,7 +2644,7 @@ public class TestIndexWriter extends Luc
> writer.close();
>
> long gen = SegmentInfos.getCurrentSegmentGeneration(dir);
> - assertTrue("segment generation should be > 1 but got " + gen, gen >
> 1);
> + assertTrue("segment generation should be > 0 but got " + gen, gen >
> 0);
>
> final String segmentsFileName =
> SegmentInfos.getCurrentSegmentFileName(dir);
> IndexInput in = dir.openInput(segmentsFileName);
> @@ -2673,7 +2673,8 @@ public class TestIndexWriter extends Luc
> TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT))
> .setMaxBufferedDocs(2));
> ((LogMergePolicy)
> writer.getConfig().getMergePolicy()).setMergeFactor(5);
> -
> + writer.commit();
> +
> for (int i = 0; i < 23; i++)
> addDoc(writer);
>
> @@ -3534,7 +3535,8 @@ public class TestIndexWriter extends Luc
>
> IndexWriter writer = new IndexWriter(dir, new
> IndexWriterConfig(TEST_VERSION_CURRENT, new
> WhitespaceAnalyzer(TEST_VERSION_CURRENT)).setMaxBufferedDocs(2));
> ((LogMergePolicy)
> writer.getConfig().getMergePolicy()).setMergeFactor(5);
> -
> + writer.commit();
> +
> for (int i = 0; i < 23; i++)
> addDoc(writer);
>
> @@ -3585,7 +3587,8 @@ public class TestIndexWriter extends Luc
>
> IndexWriter writer = new IndexWriter(dir, new
> IndexWriterConfig(TEST_VERSION_CURRENT, new
> WhitespaceAnalyzer(TEST_VERSION_CURRENT)).setMaxBufferedDocs(2));
> ((LogMergePolicy)
> writer.getConfig().getMergePolicy()).setMergeFactor(5);
> -
> + writer.commit();
> +
> for (int i = 0; i < 23; i++)
> addDoc(writer);
>
> @@ -3670,6 +3673,7 @@ public class TestIndexWriter extends Luc
>
> dir2 = new MockRAMDirectory();
> writer2 = new IndexWriter(dir2, new
> IndexWriterConfig(TEST_VERSION_CURRENT, new
> WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
> + writer2.commit();
> cms = (ConcurrentMergeScheduler)
> writer2.getConfig().getMergeScheduler();
>
> readers = new IndexReader[NUM_COPY];
> @@ -4952,4 +4956,17 @@ public class TestIndexWriter extends Luc
> w.close();
> dir.close();
> }
> +
> + public void testNoCommits() throws Exception {
> + // Tests that if we don't call commit(), the directory has 0 commits.
> This has
> + // changed since LUCENE-2386, where before IW would always commit on a
> fresh
> + // new index.
> + Directory dir = new RAMDirectory();
> + IndexWriter writer = new IndexWriter(dir, new
> IndexWriterConfig(TEST_VERSION_CURRENT, new
> WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
> + assertEquals("expected 0 commits!", 0,
> IndexReader.listCommits(dir).size());
> + // No changes still should generate a commit, because it's a new
> index.
> + writer.close();
> + assertEquals("expected 1 commits!", 1,
> IndexReader.listCommits(dir).size());
> + }
> +
> }
>
> Modified:
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterDelete.java
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterDelete.java?rev=932868&r1=932867&r2=932868&view=diff
>
> ==============================================================================
> ---
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterDelete.java
> (original)
> +++
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterDelete.java
> Sun Apr 11 11:31:09 2010
> @@ -749,7 +749,7 @@ public class TestIndexWriterDelete exten
>
> MockRAMDirectory dir = new MockRAMDirectory();
> IndexWriter modifier = new IndexWriter(dir, new
> IndexWriterConfig(TEST_VERSION_CURRENT, new
> WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
> -
> + modifier.commit();
> dir.failOn(failure.reset());
>
> for (int i = 0; i < keywords.length; i++) {
>
> Modified:
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java?rev=932868&r1=932867&r2=932868&view=diff
>
> ==============================================================================
> ---
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java
> (original)
> +++
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java
> Sun Apr 11 11:31:09 2010
> @@ -134,6 +134,7 @@ public class TestIndexWriterExceptions e
> MockIndexWriter writer = new MockIndexWriter(dir, new
> IndexWriterConfig(TEST_VERSION_CURRENT, new
> WhitespaceAnalyzer(TEST_VERSION_CURRENT)).setRAMBufferSizeMB(0.1));
> ((ConcurrentMergeScheduler)
> writer.getConfig().getMergeScheduler()).setSuppressExceptions();
> //writer.setMaxBufferedDocs(10);
> + writer.commit();
>
> if (VERBOSE)
> writer.setInfoStream(System.out);
> @@ -171,6 +172,7 @@ public class TestIndexWriterExceptions e
> MockIndexWriter writer = new MockIndexWriter(dir, new
> IndexWriterConfig(TEST_VERSION_CURRENT, new
> WhitespaceAnalyzer(TEST_VERSION_CURRENT)).setRAMBufferSizeMB(0.2));
> ((ConcurrentMergeScheduler)
> writer.getConfig().getMergeScheduler()).setSuppressExceptions();
> //writer.setMaxBufferedDocs(10);
> + writer.commit();
>
> if (VERBOSE)
> writer.setInfoStream(System.out);
>
> Modified:
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterReader.java
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterReader.java?rev=932868&r1=932867&r2=932868&view=diff
>
> ==============================================================================
> ---
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterReader.java
> (original)
> +++
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterReader.java
> Sun Apr 11 11:31:09 2010
> @@ -561,6 +561,7 @@ public class TestIndexWriterReader exten
> public void testAfterCommit() throws Exception {
> Directory dir1 = new MockRAMDirectory();
> IndexWriter writer = new IndexWriter(dir1, new
> IndexWriterConfig(TEST_VERSION_CURRENT, new
> WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
> + writer.commit();
> writer.setInfoStream(infoStream);
>
> // create the index
>
> Modified:
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestNoDeletionPolicy.java
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestNoDeletionPolicy.java?rev=932868&r1=932867&r2=932868&view=diff
>
> ==============================================================================
> ---
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestNoDeletionPolicy.java
> (original)
> +++
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestNoDeletionPolicy.java
> Sun Apr 11 11:31:09 2010
> @@ -82,10 +82,7 @@ public class TestNoDeletionPolicy extend
> doc.add(new Field("c", "a" + i, Store.YES, Index.ANALYZED));
> writer.addDocument(doc);
> writer.commit();
> - // the reason to expect i + 2 commits is because when IndexWriter is
> - // created it creates a first commit. If this ever changes, then the
> - // expected should be i + 1 (and this comment removed).
> - assertEquals("wrong number of commits !", i + 2,
> IndexReader.listCommits(dir).size());
> + assertEquals("wrong number of commits !", i + 1,
> IndexReader.listCommits(dir).size());
> }
> writer.close();
> }
>
> Modified:
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestStressIndexing.java
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestStressIndexing.java?rev=932868&r1=932867&r2=932868&view=diff
>
> ==============================================================================
> ---
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestStressIndexing.java
> (original)
> +++
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestStressIndexing.java
> Sun Apr 11 11:31:09 2010
> @@ -122,7 +122,8 @@ public class TestStressIndexing extends
> TEST_VERSION_CURRENT, new SimpleAnalyzer(TEST_VERSION_CURRENT))
>
> .setOpenMode(OpenMode.CREATE).setMaxBufferedDocs(10).setMergeScheduler(
> mergeScheduler));
> -
> + modifier.commit();
> +
> TimedThread[] threads = new TimedThread[4];
> int numThread = 0;
>
>
> Modified:
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestStressIndexing2.java
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestStressIndexing2.java?rev=932868&r1=932867&r2=932868&view=diff
>
> ==============================================================================
> ---
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestStressIndexing2.java
> (original)
> +++
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestStressIndexing2.java
> Sun Apr 11 11:31:09 2010
> @@ -150,6 +150,7 @@ public class TestStressIndexing2 extends
> IndexWriter w = new MockIndexWriter(dir, new IndexWriterConfig(
> TEST_VERSION_CURRENT, new
> WhitespaceAnalyzer(TEST_VERSION_CURRENT)).setOpenMode(OpenMode.CREATE).setRAMBufferSizeMB(
> 0.1).setMaxBufferedDocs(maxBufferedDocs));
> + w.commit();
> LogMergePolicy lmp = (LogMergePolicy) w.getConfig().getMergePolicy();
> lmp.setUseCompoundFile(false);
> lmp.setUseCompoundDocStore(false);
>
> Modified:
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/store/TestBufferedIndexInput.java
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/store/TestBufferedIndexInput.java?rev=932868&r1=932867&r2=932868&view=diff
>
> ==============================================================================
> ---
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/store/TestBufferedIndexInput.java
> (original)
> +++
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/store/TestBufferedIndexInput.java
> Sun Apr 11 11:31:09 2010
> @@ -243,6 +243,7 @@ public class TestBufferedIndexInput exte
>
> public void testSetBufferSize() throws IOException {
> File indexDir = new File(TEMP_DIR, "testSetBufferSize");
> + indexDir.mkdirs(); // required for this MockFSDir since we don't
> commit on IW creation anymore.
> MockFSDirectory dir = new MockFSDirectory(indexDir, newRandom());
> try {
> IndexWriter writer = new IndexWriter(dir, new IndexWriterConfig(
>
> Modified:
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/store/TestLockFactory.java
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/store/TestLockFactory.java?rev=932868&r1=932867&r2=932868&view=diff
>
> ==============================================================================
> ---
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/store/TestLockFactory.java
> (original)
> +++
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/store/TestLockFactory.java
> Sun Apr 11 11:31:09 2010
> @@ -82,7 +82,7 @@ public class TestLockFactory extends Luc
> NoLockFactory.class.isInstance(dir.getLockFactory()));
>
> IndexWriter writer = new IndexWriter(dir, new
> IndexWriterConfig(TEST_VERSION_CURRENT, new
> WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
> -
> + writer.commit(); // required so the second open succeed
> // Create a 2nd IndexWriter. This is normally not allowed but it
> should run through since we're not
> // using any locks:
> IndexWriter writer2 = null;
>
> Modified:
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/store/TestWindowsMMap.java
> URL:
> http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/store/TestWindowsMMap.java?rev=932868&r1=932867&r2=932868&view=diff
>
> ==============================================================================
> ---
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/store/TestWindowsMMap.java
> (original)
> +++
> lucene/dev/trunk/lucene/src/test/org/apache/lucene/store/TestWindowsMMap.java
> Sun Apr 11 11:31:09 2010
> @@ -66,17 +66,22 @@ public class TestWindowsMMap extends Luc
> new File(TEMP_DIR,"testLuceneMmap").getAbsolutePath();
>
> public void testMmapIndex() throws Exception {
> - FSDirectory storeDirectory;
> - storeDirectory = new MMapDirectory(new File(storePathname), null);
> -
> + // sometimes the directory is not cleaned by rmDir, because on Windows
> it
> + // may take some time until the files are finally dereferenced. So
> clean the
> + // directory up front, or otherwise new IndexWriter will fail.
> + File dirPath = new File(storePathname);
> + rmDir(dirPath);
> + MMapDirectory dir = new MMapDirectory(dirPath, null);
> +
> // plan to add a set of useful stopwords, consider changing some of the
> // interior filters.
> StandardAnalyzer analyzer = new StandardAnalyzer(TEST_VERSION_CURRENT,
> Collections.emptySet());
> // TODO: something about lock timeouts and leftover locks.
> - IndexWriter writer = new IndexWriter(storeDirectory, new
> IndexWriterConfig(
> + IndexWriter writer = new IndexWriter(dir, new IndexWriterConfig(
> TEST_VERSION_CURRENT, analyzer)
> .setOpenMode(OpenMode.CREATE));
> - IndexSearcher searcher = new IndexSearcher(storeDirectory, true);
> + writer.commit();
> + IndexSearcher searcher = new IndexSearcher(dir, true);
>
> for(int dx = 0; dx < 1000; dx ++) {
> String f = randomField();
> @@ -87,14 +92,16 @@ public class TestWindowsMMap extends Luc
>
> searcher.close();
> writer.close();
> - rmDir(new File(storePathname));
> + rmDir(dirPath);
> }
>
> - private void rmDir(File dir) {
> - File[] files = dir.listFiles();
> - for (int i = 0; i < files.length; i++) {
> - files[i].delete();
> - }
> - dir.delete();
> - }
> + private void rmDir(File dir) {
> + if (!dir.exists()) {
> + return;
> + }
> + for (File file : dir.listFiles()) {
> + file.delete();
> + }
> + dir.delete();
> + }
> }
>
>
>