Repository navigation
Commit f427fb7
authored
perf(parquet): skip Bloom reads for fully matched row groups (#25854)
## Which issue does this PR close?
No linked issue. This is a follow-up to the fully matched Parquet
row-group work in PR #23696.
## Rationale for this change
When row-group statistics prove that every row satisfies a scan
predicate, a Bloom filter cannot prune that group. Reading its Bloom
filters still adds object-store I/O, which can be especially costly for
remote files.
## What changes are included in this PR?
- Skip Bloom filter reads and predicate evaluation for fully matched row
groups.
- Avoid creating a Bloom reader when every surviving row group is fully
matched.
- Keep the Bloom pruning matched metric accounting for skipped groups.
## What is the testing strategy for this PR?
The new `fully_matched_row_groups_skip_bloom_filter_reads` test verifies
that a partially matched group still reads Bloom filters, a fully
matched group reduces `bytes_scanned`, and an all-fully-matched file
reads zero Bloom bytes during open. It also checks that the returned
rows are unchanged.
## Are there any user-facing changes?
No API or query-result changes. Scans avoid unnecessary Bloom filter
reads for fully matched row groups.1 parent 1d9be2e commit f427fb7
2 files changed
Lines changed: 99 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1482 | 1482 | | |
1483 | 1483 | | |
1484 | 1484 | | |
| 1485 | + | |
| 1486 | + | |
| 1487 | + | |
| 1488 | + | |
1485 | 1489 | | |
1486 | 1490 | | |
1487 | 1491 | | |
| |||
1521 | 1525 | | |
1522 | 1526 | | |
1523 | 1527 | | |
| 1528 | + | |
| 1529 | + | |
| 1530 | + | |
| 1531 | + | |
| 1532 | + | |
1524 | 1533 | | |
1525 | 1534 | | |
1526 | 1535 | | |
| |||
2485 | 2494 | | |
2486 | 2495 | | |
2487 | 2496 | | |
| 2497 | + | |
| 2498 | + | |
| 2499 | + | |
| 2500 | + | |
| 2501 | + | |
2488 | 2502 | | |
2489 | 2503 | | |
2490 | 2504 | | |
| |||
4570 | 4584 | | |
4571 | 4585 | | |
4572 | 4586 | | |
| 4587 | + | |
| 4588 | + | |
| 4589 | + | |
| 4590 | + | |
| 4591 | + | |
| 4592 | + | |
| 4593 | + | |
| 4594 | + | |
| 4595 | + | |
| 4596 | + | |
| 4597 | + | |
| 4598 | + | |
| 4599 | + | |
| 4600 | + | |
| 4601 | + | |
| 4602 | + | |
| 4603 | + | |
| 4604 | + | |
| 4605 | + | |
| 4606 | + | |
| 4607 | + | |
| 4608 | + | |
| 4609 | + | |
| 4610 | + | |
| 4611 | + | |
| 4612 | + | |
| 4613 | + | |
| 4614 | + | |
| 4615 | + | |
| 4616 | + | |
| 4617 | + | |
| 4618 | + | |
| 4619 | + | |
| 4620 | + | |
| 4621 | + | |
| 4622 | + | |
| 4623 | + | |
| 4624 | + | |
| 4625 | + | |
| 4626 | + | |
| 4627 | + | |
| 4628 | + | |
| 4629 | + | |
| 4630 | + | |
| 4631 | + | |
| 4632 | + | |
| 4633 | + | |
| 4634 | + | |
| 4635 | + | |
| 4636 | + | |
| 4637 | + | |
| 4638 | + | |
| 4639 | + | |
| 4640 | + | |
| 4641 | + | |
| 4642 | + | |
| 4643 | + | |
| 4644 | + | |
| 4645 | + | |
| 4646 | + | |
| 4647 | + | |
| 4648 | + | |
| 4649 | + | |
| 4650 | + | |
| 4651 | + | |
| 4652 | + | |
| 4653 | + | |
| 4654 | + | |
| 4655 | + | |
| 4656 | + | |
| 4657 | + | |
| 4658 | + | |
| 4659 | + | |
| 4660 | + | |
| 4661 | + | |
| 4662 | + | |
| 4663 | + | |
| 4664 | + | |
| 4665 | + | |
| 4666 | + | |
4573 | 4667 | | |
4574 | 4668 | | |
4575 | 4669 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
451 | 451 | | |
452 | 452 | | |
453 | 453 | | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
454 | 459 | | |
455 | 460 | | |
456 | 461 | | |
| |||
0 commit comments