IndexReader.IsCurrent returning false positive in some cases ------------------------------------------------------------
Key: LUCENENET-374 URL: https://issues.apache.org/jira/browse/LUCENENET-374 Project: Lucene.Net Issue Type: Bug Environment: Lucene 2.9.2.2 Reporter: Paul Gunn I've isolated the issue to a pretty small test case [below]. Under the covers, it looks like NrtIsCurrent is returning 'true' incorrectly when documents are deleted & then committed [but before any other documents are added]. Please let me know if any addition data is needed to repro. Thanks, Paul Lucene.Net.Store.RAMDirectory ramDir = new Lucene.Net.Store.RAMDirectory(); Lucene.Net.Index.IndexWriter writer = new Lucene.Net.Index.IndexWriter(ramDir, new Lucene.Net.Analysis.KeywordAnalyzer(), true, new Lucene.Net.Index.IndexWriter.MaxFieldLength(1000) ); Lucene.Net.Documents.Field field = new Lucene.Net.Documents.Field("TEST", "mytest", Lucene.Net.Documents.Field.Store.YES, Lucene.Net.Documents.Field.Index.ANALYZED); Lucene.Net.Documents.Document doc = new Lucene.Net.Documents.Document(); doc.Add(field); writer.AddDocument(doc); Lucene.Net.Index.IndexReader reader = writer.GetReader(); writer.DeleteDocuments(new Lucene.Net.Index.Term("TEST", "mytest")); bool iscurrent1 = reader.IsCurrent(); // FALSE as expected writer.Commit(); bool iscurrent2 = reader.IsCurrent(); // returns TRUE now - Incorrect System.Diagnostics.Debug.Assert(iscurrent1 = iscurrent2); // ASSERT FAILs -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.