Adrien Grand created LUCENE-9529:
------------------------------------

             Summary: Larger stored fields block sizes mean we're more likely 
to disable optimized bulk merging
                 Key: LUCENE-9529
                 URL: https://issues.apache.org/jira/browse/LUCENE-9529
             Project: Lucene - Core
          Issue Type: Improvement
            Reporter: Adrien Grand


Whenever possible when merging stored fields, Lucene tries to copy the 
compressed data instead of decompressing the source segment to then 
re-compressing in the destination segment. A problem with this approach is that 
if some blocks are incomplete (typically the last block of a segment) then it 
remains incomplete in the destination segment too, and if we do it for too long 
we end up with a bad compression ratio. So Lucene keeps track of these 
incomplete blocks, and makes sure to keep a ratio of incomplete blocks below 1%.

But as we increased the block size, it has become more likely to have a high 
ratio of incomplete blocks. E.g. if you have a segment with 1MB of stored 
fields, with 16kB blocks like before, you have 63 complete blocks and 1 
incomplete block, or 1.6%. But now with ~512kB blocks, you have one complete 
block and 1 incomplete block, ie. 50%.

I'm not sure how to fix it or even whether it should be fixed but wanted to 
open an issue to track this.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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

Reply via email to