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]

Reply via email to