fyrsta7 opened a new pull request, #10823:
URL: https://github.com/apache/arrow-rs/pull/10823

   # Which issue does this PR close?
   
   - Closes #10747.
   
   # Rationale for this change
   
   The async reader selection fuzz test covered randomized row selections and 
projected columns, but it had no row filter and checked only the output row 
count. It therefore could not reach interactions between predicate pushdown, 
predicate caching, page pruning, and row-selection representation, or detect 
incorrect output values.
   
   # What changes are included in this PR?
   
   The existing test now uses a deterministic seed and varies:
   
   - sparse and dense row selections;
   - `Selectors`, `Mask`, and `Auto` row-selection policies;
   - disabled, constrained, and ample predicate-cache limits;
   - batch sizes from 1 to 1,024 rows;
   - predicate selectivity and projected output columns.
   
   The predicate column is also projected so the cache producer and consumer 
paths interact. Each result is compared as a complete record batch with a 
reference read using `Selectors` and a disabled predicate cache. Reader metrics 
assert that ample-cache cases actually read records from the cache and that 
disabled-cache cases do not.
   
   The matrix uses 18 generated selections and 48 non-identical candidates. 
Every non-baseline policy/cache pair covers all five batch sizes and both 
sparse and dense selection shapes, while identical reference configurations are 
not decoded twice.
   
   # Are these changes tested?
   
   Yes. The focused test passes on current `main`. Applying the same test 
change immediately before fix #10735 reproduces the former sparse-page offset 
failure, demonstrating that the new matrix reaches the regression class 
described in the issue.
   
   The following checks pass locally:
   
   - `cargo test -p parquet`
   - `cargo test -p parquet --all-features`
   - `cargo clippy --workspace --all-targets --all-features -- -D warnings`
   - `cargo fmt --all -- --check`
   - the additional Parquet formatting command documented in `CONTRIBUTING.md`
   
   # Are there any user-facing changes?
   
   No. This is a test-only change with no public API or runtime behavior change.
   
   # AI assistance disclosure
   
   I used an AI coding assistant to help investigate the reader interactions, 
draft the test changes, and review the resulting diff. I reviewed and 
understand every change, verified the test against both the current code and 
the pre-fix revision, and ran the formatting, Clippy, and test commands listed 
above.


-- 
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