[improvement](parquet) Decode fragmented dictionary indices in one pass - #66504
[improvement](parquet) Decode fragmented dictionary indices in one pass#66504Gabriel39 wants to merge 4 commits into
Conversation
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
|
run buildall |
|
/review |
|
Codex automated review failed and did not complete. Error: All Codex review accounts are usage-limited; earliest retry is 2026-08-08T03:32:00Z. Please trigger /review again after that time. |
79d397c to
0eb752d
Compare
|
run buildall |
|
/review |
|
Codex automated review failed and did not complete. Error: All Codex review accounts are usage-limited; earliest retry is 2026-08-08T03:32:00Z. Please trigger /review again after that time. |
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
79d397c to
0eb752d
Compare
|
run buildall |
|
/review |
|
Codex automated review failed and did not complete. Error: All Codex review accounts are usage-limited; earliest retry is 2026-08-08T03:32:00Z. Please trigger /review again after that time. |
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
What problem does this PR solve?
File Scanner V2 can produce hundreds of one-row selection ranges after compound raw filtering. Dictionary decoding then repeatedly enters skip, decode, and validation for every range. The roughly 5% fragmented Decimal predicate shape in TPC-DS Q28 misses the existing dense-selection threshold and spends significant CPU on dictionary-index transitions.
What is changed?
Performance
Release build, same-host CPU-pinned A-B-B-A comparison, 9 repetitions per run. Values are average paired median CPU time; lower is better.
No regressions were observed in the control matrix. Existing paths remain unchanged unless fragmented-selection transition cost crosses the new cache-aware threshold.
Validation
This PR is stacked on #66485; the final commit contains this change.