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]

Reply via email to