XiaoHongbo-Hope opened a new pull request, #10801: URL: https://github.com/apache/paimon/pull/10801
### Purpose CachingInputStream currently issues one source range read per missing cache block. A contiguous cold read therefore pays repeated request overhead. ### Changes - Fetch consecutive missing blocks together, stopping at cached holes. - Bound batches to 32 blocks and 8 MiB; an individual larger block keeps its existing size. - Share the range-read path between read and read_at; preserve cursor semantics. - Reject incomplete source ranges before caching any blocks from that range. No option or cache-format changes, no extra overfetch beyond the existing block boundaries. This optimizes the pure Python reader, independently of apache/paimon-rust#1218; it does not add shared-cache locking or cross-request singleflight. ### Validation 96 tests passed across caching_file_io_test.py, blob_index_cache_test.py and parquet_metadata_cache_test.py on Python 3.11. Flake8 and git diff checks pass. Added six tests covering coalescing, warm holes, byte/block limits, truncated responses, positioned reads and short-chunk seek/read streams. Request ranges/counts are verified with local test sources. No real OSS throughput claim is made for this Python change. -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
