[ https://issues.apache.org/jira/browse/LUCENE-8334?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16492348#comment-16492348 ]
Dawid Weiss commented on LUCENE-8334: ------------------------------------- Hi Simon. This was made private in this patch: {code} - // TODO: why is this public? - public SegmentReader(SegmentCommitInfo si, int createdVersionMajor, IOContext context) throws IOException { - this.si = si; + SegmentReader(SegmentCommitInfo si, int createdVersionMajor, IOContext context) throws IOException { {code} I agree it's expert-level API, but it is useful (has no alternative) for manipulating parallel indexes (see TestDemoParallelLeafReader). I am actually using this stuff (outside of Lucene code) exactly like Mike's "demo" shows -- to maintain derived indexes from primary segments. Can we make a primary API citizen (or expose a public interface implemented by this class that would convey the information required for TestDemoParallelLeafReader to work, if it's moved from .index package)? > Ensure SR#getSementInfo() returns snapshot > ------------------------------------------ > > Key: LUCENE-8334 > URL: https://issues.apache.org/jira/browse/LUCENE-8334 > Project: Lucene - Core > Issue Type: Bug > Reporter: Simon Willnauer > Priority: Major > Attachments: LUCENE-8334.patch > > > The SegmentCommitInfo passed to the segment reader is mutated concurrently. > An instance obtained from SR#getSegmentInfo() might return wrong delete > counts > or generation ids. This ensures that the SR will use a clone internally > while stil > maintaining the original SI since it's needed inside IW for maintainance > like > accessing pooled readers etc. -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org