[ 
https://issues.apache.org/jira/browse/LUCENE-10004?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17363529#comment-17363529
 ] 

kkewwei edited comment on LUCENE-10004 at 6/15/21, 10:31 AM:
-------------------------------------------------------------

There seems no need to guarantee the order of stored documents in the merged 
segment. the order is mainly used in deleting, the buffered docs will not be 
deleted at present.

Can you describe the situation that disorder will produce wrong results? I am 
very appreciated.


was (Author: kkewwei):
There seems no need to guarantee the order of stored documents in the merged 
segment. the order is mainly used in deleting, the buffered docs will not be 
deleted at present.

Can you describe the situation that disorder will produce wrong results?

> Delete unnecessary flush in 
> Lucene90CompressingStoredFieldsWriter.copyChunks() to reduce dirty chunks
> -----------------------------------------------------------------------------------------------------
>
>                 Key: LUCENE-10004
>                 URL: https://issues.apache.org/jira/browse/LUCENE-10004
>             Project: Lucene - Core
>          Issue Type: Improvement
>          Components: core/codecs
>    Affects Versions: 8.8.2
>            Reporter: kkewwei
>            Priority: Major
>
> In CompressingStoredFieldsWriter.merge(): if the segment meet the following 
> conditions:
> {code:java}
> else if (matchingFieldsReader.getCompressionMode() == compressionMode && 
>                  matchingFieldsReader.getChunkSize() == chunkSize && 
>                  matchingFieldsReader.getPackedIntsVersion() 
> ==PackedInts.VERSION_CURRENT &&
>                  liveDocs == null &&
>                  !tooDirty(matchingFieldsReader)) { 
>        ......
>        // flush any pending chunks
>         if (numBufferedDocs > 0) {
>           flush();
>           numDirtyChunks++; // incomplete: we had to force this flush
>         }
>        ......
> }
> {code}
> We will copy the the all chunk to the new fdt, before copying the chunk, we 
> will flush the buffer docs if numBufferedDocs >0, but the flush is 
> unnecessary.
> The bufferedDocs in memory have nothing to do with copyChunk. We just need to 
> ensure that it will be flush at the end of merge(In finish()).



--
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