lucenenet-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Paul Gunn (JIRA)" <>
Subject [jira] Created: (LUCENENET-374) IndexReader.IsCurrent returning false positive in some cases
Date Thu, 02 Sep 2010 16:48:53 GMT
IndexReader.IsCurrent returning false positive in some cases

                 Key: LUCENENET-374
             Project: Lucene.Net
          Issue Type: Bug
         Environment: Lucene
            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();
            Lucene.Net.Index.IndexReader reader = writer.GetReader();
            writer.DeleteDocuments(new Lucene.Net.Index.Term("TEST", "mytest"));
            bool iscurrent1 = reader.IsCurrent(); // FALSE as expected
            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.

View raw message