github-actions[bot] commented on code in PR #67922:
URL: https://github.com/apache/doris/pull/67922#discussion_r4002408316
##########
be/src/format_v2/parquet/parquet_scan.cpp:
##########
@@ -842,7 +842,28 @@ Status build_native_row_group_read_plans(
row_group_plan.row_group_id = row_group_idx;
row_group_plan.first_file_row = row_group_first_rows[row_group_idx];
row_group_plan.row_group_rows = row_group.num_rows;
- row_group_plan.selected_ranges = {{.start = 0, .length =
row_group.num_rows}};
+ if (request.row_ids.has_value()) {
Review Comment:
[P2] Avoid replaying nested Page V1 for sparse row IDs
This creates sparse logical ranges, but the row-ID path has no usable
physical page navigation for nested Data Page V1: predicate-free requests do
not load indexes, and the nested reader explicitly discards an OffsetIndex when
it sees a V1 data page. A late requested row therefore makes
`seek_to_nested_row()` load and decode every preceding page's levels and
values. Because this path also disables MergeRange/prefetch and sets per-leaf
read-ahead to zero, each projected repeated leaf can turn one sparse fetch into
page-by-page demand I/O. This is distinct from the prior 8 MiB-per-leaf thread:
that fix bounds each buffer but does not add page navigation. Please add a safe
indexed or equivalent nested-V1 seek path (loading the index alone is
insufficient), and cover a late row in a multi-page nested V1 column with an
I/O or decoded-page 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]