JingsongLi opened a new pull request, #990:
URL: https://github.com/apache/paimon-rust/pull/990

   ### Purpose
   
   Follow up on #988: a scan that uses a manifest sidecar can issue several 
range GETs for one manifest even when most of its blocks are selected. For an 
approximately 8 MiB manifest, this can turn one full GET into a sidecar GET 
plus two or more range GETs.
   
   ### Changes
   
   - Estimate selected manifest bytes and the number of range reads after the 
existing 4 MiB coalescing rule.
   - Read the full manifest when doing so saves range requests and the transfer 
increase is bounded by the range count, capped at 4x. Keep sparse selections on 
the range-read path and empty selections header-only.
   - Use the same range planner for the estimate and the actual selected read.
   
   For an 8 MiB manifest with two planned ranges and at least 4 MiB selected, 
the manifest body now uses one full read rather than two range reads.
   
   ### Tests
   
   - `cargo test -p paimon spec::manifest_sidecar::tests --lib` (8 passed)
   - `cargo test -p paimon table::table_scan::tests --lib` (109 passed)
   - `cargo clippy -p paimon --lib --tests -- -D warnings`
   - `cargo fmt --all -- --check`
   
   No storage format 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