gripleaf opened a new pull request, #304:
URL: https://github.com/apache/paimon-cpp/pull/304
### Purpose
When a scan includes both fully matched and page-filtered row groups,
Arrow’s automatic pre-buffering and Paimon’s range pre-buffering can read the
same data twice.
Let FileReaderWrapper manage a shared pre-buffer cache for both kinds of
row groups. Refresh cache coverage when seeking, preserve Arrow’s standard
handling for full-only scans, and retain existing fallback behavior.
### Tests
Added regression tests in FileReaderWrapperTest:
- ManagedPreBufferUsesSingleCacheForMixedRowGroups: checks equivalent
results with fewer bytes read for mixed scans and unchanged I/O for full-only
and partial-only scans.
- ManagedPreBufferBackwardSeekRefreshesCacheCoverage: checks cache
coverage after backward seeks.
- ManagedPreBufferPropagatesReadErrors: checks propagation of injected
read failures.
- DisabledPreBufferPreservesPageFilteredCache: checks page-filtered
caching when automatic pre-buffering is disabled.
Tests were not run while preparing this description. No integration tests
were added.
### API and Format
No changes to public APIs under include/, storage formats, or protocols.
### Documentation
No new user-facing features or configuration options. No documentation
changes required.
### Generative AI tooling
Generated-by: OpenAI Codex (GPT-6)
--
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]