github-actions[bot] commented on code in PR #66000:
URL: https://github.com/apache/doris/pull/66000#discussion_r3664538842
##########
be/src/format/parquet/vparquet_column_chunk_reader.cpp:
##########
@@ -76,7 +77,6 @@ Status ColumnChunkReader<IN_COLLECTION, OFFSET_INDEX>::init()
{
// get the block compression codec
RETURN_IF_ERROR(get_block_compression_codec(_metadata.codec,
&_block_compress_codec));
_state = INITIALIZED;
- RETURN_IF_ERROR(_parse_first_page_header());
return Status::OK();
Review Comment:
[P2] Keep the default FileScannerV2 path lazy too
`enable_file_scanner_v2` defaults to true, and supported query scans select
that engine. Its `ParquetScanScheduler` constructs every physical/file-backed
non-predicate reader before row filtering, while native
`ColumnChunkReader::init()` still calls `_parse_first_page_header()`. On a cold
cache this reads page zero; on a cache hit it still parses the cached header
and decodes/copies a leading dictionary, all before the scheduler can discover
`selected_rows == 0`. Consequently, a filter-all query still pays eager
page-zero work for each physical follower—the exact case this change fixes only
in the legacy reader and test. Please implement the deferred probe
independently under `be/src/format_v2/parquet/` and add a native filter-all
test that proves the follower adds no `PageReadCount` or `ParsePageHeaderNum`.
--
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]