github-actions[bot] commented on code in PR #68780:
URL: https://github.com/apache/doris/pull/68780#discussion_r4225950193
##########
be/src/format_v2/parquet/reader/native/column_chunk_reader.cpp:
##########
@@ -249,14 +252,14 @@ bool validate_offset_index(const tparquet::OffsetIndex&
index, const ColumnChunk
}
const uint64_t begin = static_cast<uint64_t>(location.offset);
const uint64_t size =
static_cast<uint64_t>(location.compressed_page_size);
- if (begin < chunk_begin || begin < previous_end || begin > chunk_end ||
+ if (begin < chunk_begin || begin != previous_end || begin > chunk_end
||
Review Comment:
[P1] Validate OffsetIndex row spans before page-index pruning. This
byte-coverage check still accepts a monotone but incorrect `first_row_index`.
With three rows, column A's first page can physically contain rows 0-1 but
advertise `[0,1)`, while column B's matching page advertises `[1,3)`. For `A=1
AND B=1`, `select_row_group_ranges_by_native_page_index()` intersects those
ranges to empty and drops row 1 before any reader can compare A's header count
with its index. Validate physical page row counts before using these ranges for
pruning, or retain the Row Group when they cannot be verified. This is distinct
from wrong-row navigation after an indexed skip: no reader opens here.
--
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]