[ 
https://issues.apache.org/jira/browse/LUCENENET-374?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Digy closed LUCENENET-374.
--------------------------

    Resolution: Fixed

It works as expected in 2.9.4 in trunk. See "Test_IndexReader_IsCurrent"

DIGY

> 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
>          Components: Lucene.Net Core
>    Affects Versions: Lucene.Net 2.9.2
>         Environment: Lucene 2.9.2
>            Reporter: Paul Gunn
>             Fix For: Lucene.Net 2.9.4
>
>         Attachments: SegmentInfo.patch
>
>
> 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.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to