hhhizzz commented on PR #10735:
URL: https://github.com/apache/arrow-rs/pull/10735#issuecomment-5336886581

   > > This bug requires an interaction between predicate pushdown, page 
pruning, selection representation, and predicate caching, which is difficult to 
cover with isolated reader tests alone. I suggest adding a CI or scheduled 
benchmark correctness check that runs representative TPC-DS, TPC-H, and 
ClickBench queries with Parquet predicate pushdown enabled;
   > 
   > We can try this -- I think another potential solution would be to 
implement some sort of fuzz test that tests various selection patterns, etc 
with pushed down predicates
   
   Thanks @alamb — filed both, since I think they catch different things: 
#10747 for the fuzz coverage, #10746 for an end-to-end CI check.
   
   Fuzzing first, it's cheaper and lives in this repo. One thing I noticed 
writing it up: `test_fuzz_async_reader_selection` has no `RowFilter` at all 
today, so predicate pushdown and the predicate cache are unreachable from it — 
and the mask/sparse tests and `predicate_cache.rs` turn out to be completely 
disjoint. So this wasn't a gap in depth, it was a gap in the cross product.
   
   That's also why I don't think fuzzing alone closes it. The parameter space 
is still authored by hand, and the cache axis was missing because caching and 
row selection look like unrelated subsystems until they aren't. Cross-module 
interactions are the hard ones to anticipate up front, which is what #10746 is 
aimed at — running what users actually run, rather than enumerating what we 
think matters.
   
   #10746 is a correctness check, not a performance one, and needs no new 
infrastructure: `dfbench` already records per-query `success` and `row_count`, 
so it's "run the suites with pushdown on, diff against a pushdown-off run". The 
`success` check alone would have caught this one.
   
   Happy to take #10747 first if nobody else has started on it.


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