Gabriel39 opened a new pull request, #66056:
URL: https://github.com/apache/doris/pull/66056
### What problem does this PR solve?
Issue Number: None
Related PR: None
Problem Summary: FileScannerV2 split every selected Parquet range at each
2048-row condition-cache granule. Unlike the V1 `RowRanges` implementation, it
did not merge adjacent surviving granules. An all-true cache hit therefore
capped physical batches at the cache granule size and inflated reader calls.
This change merges adjacent intersections while preserving gaps for false
granules, aligning V2 range semantics with V1.
The regression test configures a 4096-row batch over two adjacent true
granules. It returned only 2048 rows before the fix and returns 4096 rows after
the fix.
### Release note
Condition-cache hits no longer split adjacent surviving Parquet ranges at
cache granule boundaries.
### Check List (For Author)
- Test
- [x] Unit Test
- `./run-be-ut.sh --run --filter='*ConditionCache*' -j 32` (29 tests
passed)
- [ ] Regression test
- [ ] Manual test
- Additional checks
- `build-support/check-format.sh`
- `git diff --check`
- `run-clang-tidy.sh` was attempted; the local analyzer could not find
the system `stddef.h` header. The actionable changed-line diagnostic was fixed,
and the unit-test build completed with warnings treated as errors.
- Behavior changed:
- [x] Yes. Adjacent true cache granules retain the original read-range
batch boundary; false-granule gaps are unchanged.
- Does this need documentation?
- [x] No.
### Check List (For Reviewer who merge this PR)
- [ ] Confirm the release note
- [ ] Confirm test cases
- [ ] Confirm document
- [ ] Add branch pick label
--
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]