gf2121 commented on issue #14546:
URL: https://github.com/apache/lucene/issues/14546#issuecomment-2823836350

   Thanks @ChrisHegarty for git bisect and @rmuir for the context.
   
   (I allowed myself to edit your comment to point to the correct PR.)
   
   I knew the new trie will clone the indexInput twice instead of FST only once 
so I changed the limitation from 5 to 6 per segment, while i did not expect it 
will clone 7 times so much. I printed out all the clone traces:
   
   1. at 
org.apache.lucene.codecs.lucene103.blocktree.FieldReader.newReader(FieldReader.java:92)
   2. at 
org.apache.lucene.codecs.lucene103.blocktree.TrieReader.<init>(TrieReader.java:79)
   3. 
org.apache.lucene.codecs.lucene103.blocktree.IntersectTermsEnum.<init>(IntersectTermsEnum.java:85)
   4. 
org.apache.lucene.codecs.lucene103.blocktree.FieldReader.newReader(FieldReader.java:92)
   5. 
org.apache.lucene.codecs.lucene103.blocktree.TrieReader.<init>(TrieReader.java:79)
   6. at 
org.apache.lucene.codecs.lucene103.blocktree.SegmentTermsEnum.initIndexInput(SegmentTermsEnum.java:83)
   7. 
org.apache.lucene.codecs.lucene103.Lucene103PostingsReader$BlockPostingsEnum.reset(Lucene103PostingsReader.java:517)
   
   So the `RangeQuery` intersect with `IntersectTermsEnum` (3 times), then 
`seeExact` with `SegmentTermsEnum` (3 times), and get postings (1 times). The 
TrieReader is constructed twice so we cloned twice more.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to