zhuqi-lucas opened a new pull request, #24374:
URL: https://github.com/apache/datafusion/pull/24374

   Backport of #24359 to `branch-55` for the 55.0.0 release, per @timsaucer's 
request in #22393. Stacks cleanly on the already-merged #24368 (#24354 
backport).
   
   ## Which issue does this PR close?
   
   - Backports the fix for #24355 — a second, independent silent wrong-results 
bug in the same parquet dynamic row-group pruning path as #24352.
   
   ## Rationale
   
   With `pushdown_filters=true` + a TopK dynamic filter, the runtime row-group 
pruner rebuilds the push decoder via `into_builder().with_row_groups(...)`, 
which drops row groups **without slicing** the carried flat page-index 
`RowSelection` to match — a dropped RG's selectors are then applied to the next 
surviving RG, silently returning wrong rows (no error). The fix declines to 
build the runtime `RowGroupPruner` when a row selection is present (correctness 
over the pruning optimization); the proper fix that keeps both is tracked 
upstream in apache/arrow-rs#10624 / #24358.
   
   ## Notes
   
   - Clean cherry-pick of #24359 onto `branch-55` (which now has #24354 via 
#24368). No conflicts.
   - #24359 is **approved** on `main` and pending merge; opening this now so it 
can ride RC3.
   - Verified locally on this branch: the full `dynamic_row_group_pruning` rust 
module (9/9) and `dynamic_row_group_pruning.slt` pass; clippy clean.
   
   cc @timsaucer @alamb @adriangb
   


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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to