github-actions[bot] commented on code in PR #67922:
URL: https://github.com/apache/doris/pull/67922#discussion_r4004207754
##########
be/src/format_v2/parquet/reader/native_column_reader.cpp:
##########
@@ -347,7 +348,10 @@ Status NativeColumnReader::init(
const size_t max_group_buffer = config::parquet_rowgroup_max_buffer_mb <<
20;
const size_t max_column_buffer = config::parquet_column_max_buffer_mb <<
20;
- const size_t max_buffer_size = std::min(max_group_buffer,
max_column_buffer);
+ // Sparse exact-row fetches need demand pages, not one read-ahead buffer
per physical leaf.
+ // Passing zero through the native tree also prevents wide nested
projections multiplying it.
+ const size_t max_buffer_size =
Review Comment:
[P2] Retain indexed navigation when disabling read-ahead
Zero configured read-ahead is appropriate for exact-row payloads, but
predicate-free row-ID requests never populate `row_group_plan.offset_indexes`:
the only current path is `load_native_page_indexes()`, gated on a zonemap
predicate, while the validated standalone `load_native_offset_indexes()` has no
caller. For a late ID, flat Page V1/V2 and all-V2 nested readers therefore
parse every preceding page header to discover row bounds. Each page incurs a
PageCache lookup and, on an ordinary cold miss, a demand FileReader operation
per projected leaf (lower file-cache layers may still coalesce network
traffic). This is distinct from the existing nested-Page-V1 thread: these modes
already support indexed navigation, so loading their validated OffsetIndexes is
sufficient. Please load them for row-ID projections with the existing
malformed/absent-index fallback, and test a late row with a header/read-call
bound.
--
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]