richardstartin commented on a change in pull request #7930: URL: https://github.com/apache/pinot/pull/7930#discussion_r772657590
########## File path: pinot-segment-local/src/main/java/org/apache/pinot/segment/local/io/writer/impl/BaseChunkSVForwardIndexWriter.java ########## @@ -74,15 +71,13 @@ protected BaseChunkSVForwardIndexWriter(File file, ChunkCompressionType compress int numDocsPerChunk, int chunkSize, int sizeOfEntry, int version) throws IOException { Preconditions.checkArgument(version == DEFAULT_VERSION || version == CURRENT_VERSION); - _file = file; - _headerEntryChunkOffsetSize = getHeaderEntryChunkOffsetSize(version); - _dataOffset = headerSize(totalDocs, numDocsPerChunk, _headerEntryChunkOffsetSize); _chunkSize = chunkSize; _chunkCompressor = ChunkCompressorFactory.getCompressor(compressionType); + _headerEntryChunkOffsetSize = getHeaderEntryChunkOffsetSize(version); + _dataOffset = writeHeader(compressionType, totalDocs, numDocsPerChunk, sizeOfEntry, version); _chunkBuffer = ByteBuffer.allocateDirect(chunkSize); - _dataChannel = new RandomAccessFile(file, "rw").getChannel(); - _header = _dataChannel.map(FileChannel.MapMode.READ_WRITE, 0, _dataOffset); - writeHeader(compressionType, totalDocs, numDocsPerChunk, sizeOfEntry, version); + _compressedBuffer = ByteBuffer.allocateDirect(chunkSize * 2); Review comment: These bounds are specified by the compression codecs themselves. They take the size of the uncompressed input as a parameter and produce the largest possible compressed size for that input size. This isn't trying to optimise something we don't know, but making proper use of compression libraries. Playing devil's advocate, I'm curious how you know 2x is large enough for _any_ data? Wouldn't you prefer to use the compression library's specified bounds? -- 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: commits-unsubscr...@pinot.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org For additional commands, e-mail: commits-h...@pinot.apache.org