You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@lucene.apache.org by mi...@apache.org on 2008/12/02 23:33:35 UTC
svn commit: r722645 - in /lucene/java/trunk/src:
java/org/apache/lucene/index/SegmentReader.java
test/org/apache/lucene/index/TestIndexReader.java
Author: mikemccand
Date: Tue Dec 2 14:33:35 2008
New Revision: 722645
URL: http://svn.apache.org/viewvc?rev=722645&view=rev
Log:
LUCENE-1474: clear pendingDelCount after flushing deletes
Modified:
lucene/java/trunk/src/java/org/apache/lucene/index/SegmentReader.java
lucene/java/trunk/src/test/org/apache/lucene/index/TestIndexReader.java
Modified: lucene/java/trunk/src/java/org/apache/lucene/index/SegmentReader.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/java/org/apache/lucene/index/SegmentReader.java?rev=722645&r1=722644&r2=722645&view=diff
==============================================================================
--- lucene/java/trunk/src/java/org/apache/lucene/index/SegmentReader.java (original)
+++ lucene/java/trunk/src/java/org/apache/lucene/index/SegmentReader.java Tue Dec 2 14:33:35 2008
@@ -591,6 +591,7 @@
deletedDocs.write(directory(), si.getDelFileName());
si.setDelCount(si.getDelCount()+pendingDeleteCount);
+ pendingDeleteCount = 0;
}
if (undeleteAll && si.hasDeletions()) {
si.clearDelGen();
Modified: lucene/java/trunk/src/test/org/apache/lucene/index/TestIndexReader.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/test/org/apache/lucene/index/TestIndexReader.java?rev=722645&r1=722644&r2=722645&view=diff
==============================================================================
--- lucene/java/trunk/src/test/org/apache/lucene/index/TestIndexReader.java (original)
+++ lucene/java/trunk/src/test/org/apache/lucene/index/TestIndexReader.java Tue Dec 2 14:33:35 2008
@@ -1519,4 +1519,27 @@
_TestUtil.rmDir(indexDir);
}
}
+
+ // LUCENE-1474
+ public void testIndexReader() throws Exception {
+ Directory dir = new RAMDirectory();
+ IndexWriter writer = new IndexWriter(dir, new StandardAnalyzer(),
+ IndexWriter.MaxFieldLength.UNLIMITED);
+ writer.addDocument(createDocument("a"));
+ writer.addDocument(createDocument("b"));
+ writer.addDocument(createDocument("c"));
+ writer.close();
+ IndexReader reader = IndexReader.open(dir);
+ reader.deleteDocuments(new Term("id", "a"));
+ reader.flush();
+ reader.deleteDocuments(new Term("id", "b"));
+ reader.close();
+ IndexReader.open(dir).close();
+ }
+
+ private Document createDocument(String id) {
+ Document doc = new Document();
+ doc.add(new Field("id", id, Field.Store.YES, Field.Index.NOT_ANALYZED_NO_NORMS));
+ return doc;
+ }
}