You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 4f48ccf
Browse filesBrowse the repository at this point in the historyBrowse files
[improvement](be) Improve FileScannerV2 profiling and pruning (#65449)
### What problem does this PR solve?
Issue Number: None
Related PR: None
Problem Summary:
FileScannerV2 collected file-cache statistics but did not publish the
FileCache profile subtree or account for cache-write bytes in the query
resource context. It also lacked V1-compatible split pruning for
late-arriving runtime filters on partition columns and always propagated
missing-file errors, even when `ignore_not_found_file_in_external_table`
was enabled.
This PR:
- publishes the shared FileCache profile counters from FileScannerV2 and
records cache-write bytes;
- passes the latest scanner conjunct snapshot into
`TableReader::prepare_split`, where partition-only runtime filters are
evaluated before a concrete reader is opened;
- reports `FileScannerRuntimeFilterPartitionPruningTime` and
`RuntimeFilterPartitionPrunedRangeNum`;
- skips and counts `NOT_FOUND` splits when the external-table
missing-file option is enabled;
- resets native, JNI, Hudi hybrid, and Paimon hybrid split state before
continuing;
- adds focused unit coverage for profile reporting, partition pruning,
and split cleanup after `NOT_FOUND`.
### Release note
FileScannerV2 profiles now expose FileCache statistics, runtime-filter
partition range pruning statistics, and ignored missing-file counts.
FileScannerV2 can prune partition ranges before opening a reader and can
continue after missing external files when the existing ignore option is
enabled.
### Check List (For Author)
- Test: Manual test / Unit Test attempted
- clang-format 16 dry-run passed for all changed C++ files
- `git diff --check` passed
- targeted BE unit tests were started, but CMake configuration was
blocked because `thirdparty/installed` is missing Protobuf; tests did
not reach compilation
- Behavior changed: Yes. FileScannerV2 publishes additional profile
counters, prunes partition ranges using runtime filters, and skips
configured ignorable `NOT_FOUND` splits.
- Does this need documentation: Yes. The existing FileScanner V1/V2
profile document is updated in place.
0 commit comments