wirybeaver commented on code in PR #12242: URL: https://github.com/apache/pinot/pull/12242#discussion_r1452592342
########## pinot-segment-local/src/main/java/org/apache/pinot/segment/local/segment/index/readers/forward/VarByteChunkSVForwardIndexReader.java: ########## @@ -85,6 +85,10 @@ private String getStringCompressed(int docId, ChunkReaderContext context) { int length = valueEndOffset - valueStartOffset; byte[] bytes = _reusableBytes.get(); + if (bytes.length < _lengthOfLongestEntry) { Review Comment: *static threadLocal byte[] of IndexReader* Pros: allocated only once per segment per thread; Cons: memory won't be deallocated even no queries. *threadLocal byte[] of ReaderContext and implement close() method to remove threadLocal* Pros: deallocate the memory in time when query gets finished. Cons: repetitive allocation of byte[] array per query, query latency might tumble; need to carefully check the usage of ReaderContext to ensure the close() will be invoked finally after the query is completed (either failure or success) -- 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