[ https://issues.apache.org/jira/browse/LUCENE-5931?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Vitaly Funstein updated LUCENE-5931: ------------------------------------ Attachment: CommitReuseTest.java > DirectoryReader.openIfChanged(oldReader, commit) incorrectly assumes given > commit points has deletes/field updates > ------------------------------------------------------------------------------------------------------------------ > > Key: LUCENE-5931 > URL: https://issues.apache.org/jira/browse/LUCENE-5931 > Project: Lucene - Core > Issue Type: Bug > Components: core/index > Affects Versions: 4.6.1 > Reporter: Vitaly Funstein > Priority: Critical > Attachments: CommitReuseTest.java > > > {{StandardDirectoryReader}} assumes that the segments from commit point have > deletes, when they may not, yet the original SegmentReader for the segment > that we are trying to reuse does. This is evident when running attached JUnit > test case with asserts enabled (default): > {noformat} > java.lang.AssertionError > at > org.apache.lucene.index.StandardDirectoryReader.open(StandardDirectoryReader.java:188) > at > org.apache.lucene.index.StandardDirectoryReader.doOpenIfChanged(StandardDirectoryReader.java:326) > at > org.apache.lucene.index.StandardDirectoryReader$2.doBody(StandardDirectoryReader.java:320) > at > org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:702) > at > org.apache.lucene.index.StandardDirectoryReader.doOpenFromCommit(StandardDirectoryReader.java:315) > at > org.apache.lucene.index.StandardDirectoryReader.doOpenNoWriter(StandardDirectoryReader.java:311) > at > org.apache.lucene.index.StandardDirectoryReader.doOpenIfChanged(StandardDirectoryReader.java:262) > at > org.apache.lucene.index.DirectoryReader.openIfChanged(DirectoryReader.java:183) > {noformat} > or, if asserts are disabled then it falls through into NPE: > {noformat} > java.lang.NullPointerException > at java.io.File.<init>(File.java:305) > at > org.apache.lucene.store.NIOFSDirectory.openInput(NIOFSDirectory.java:80) > at > org.apache.lucene.codecs.lucene40.BitVector.<init>(BitVector.java:327) > at > org.apache.lucene.codecs.lucene40.Lucene40LiveDocsFormat.readLiveDocs(Lucene40LiveDocsFormat.java:90) > at org.apache.lucene.index.SegmentReader.<init>(SegmentReader.java:131) > at > org.apache.lucene.index.StandardDirectoryReader.open(StandardDirectoryReader.java:194) > at > org.apache.lucene.index.StandardDirectoryReader.doOpenIfChanged(StandardDirectoryReader.java:326) > at > org.apache.lucene.index.StandardDirectoryReader$2.doBody(StandardDirectoryReader.java:320) > at > org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:702) > at > org.apache.lucene.index.StandardDirectoryReader.doOpenFromCommit(StandardDirectoryReader.java:315) > at > org.apache.lucene.index.StandardDirectoryReader.doOpenNoWriter(StandardDirectoryReader.java:311) > at > org.apache.lucene.index.StandardDirectoryReader.doOpenIfChanged(StandardDirectoryReader.java:262) > at > org.apache.lucene.index.DirectoryReader.openIfChanged(DirectoryReader.java:183) > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org