jainankitk commented on code in PR #14397: URL: https://github.com/apache/lucene/pull/14397#discussion_r2019666086
########## lucene/core/src/java/org/apache/lucene/codecs/lucene90/compressing/Lucene90CompressingStoredFieldsReader.java: ########## @@ -512,6 +512,7 @@ private void doReset(int docID) throws IOException { bytes.offset = bytes.length = 0; for (int decompressed = 0; decompressed < totalLength; ) { final int toDecompress = Math.min(totalLength - decompressed, chunkSize); + decompressor.reset(); decompressor.decompress(fieldsStream, toDecompress, 0, toDecompress, spare); Review Comment: I am wondering if reset should be the default behavior. We can pass another flag to indicate reuse if possible. ########## lucene/core/src/java/org/apache/lucene/codecs/lucene90/LZ4WithPresetDictCompressionMode.java: ########## @@ -144,10 +148,85 @@ public void decompress(DataInput in, int originalLength, int offset, int length, assert bytes.isValid(); } + @Override + public void decompress( + IndexInput in, int originalLength, int offset, int length, BytesRef bytes) + throws IOException { + assert offset + length <= originalLength; + + if (length == 0) { + bytes.length = 0; + return; + } + + final int dictLength = in.readVInt(); + final int blockLength = in.readVInt(); + + final int numBlocks = readCompressedLengths(in, originalLength, dictLength, blockLength); + + buffer = ArrayUtil.grow(buffer, dictLength + blockLength); + long startPointer = in.getFilePointer(); + bytes.length = 0; + if (cachedDictFilPointer == startPointer) { + assert cachedDictLength == dictLength && dictEndFilePointer > 0; + in.seek(dictEndFilePointer); Review Comment: I am wondering if we can reuse the common code across this and other decompress method? -- 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