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]
