Yifan Zhang has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/24566


Change subject: IMPALA-15157: Parquet scanner reads non-existent page header 
when skipping to a page boundary
......................................................................

IMPALA-15157: Parquet scanner reads non-existent page header when skipping to a 
page boundary

When late materialization / row-level skipping needs to skip a set of rows
that ends exactly on a Parquet page boundary (e.g. when an entire row group
is filtered out by row-level predicates), BaseScalarColumnReader::
SkipRowsInternal() could attempt to read a page header that does not exist.

This makes the skip discard the page once the rows to skip reach the page
boundary and return before reading the next page header, instead of
decompressing the page to skip the remaining values in it.

Testing:
- Updated and extended parquet-late-materialization-unique-db.test to cover
  skipping to a page boundary and in-page value skipping.

Change-Id: I18f0e69c267c9bf041ff9f6a3d677239ae43971a
Assisted-By: Claude Opus 4.8 <[email protected]>
---
M be/src/exec/parquet/parquet-column-readers.cc
M be/src/exec/parquet/parquet-column-readers.h
M 
testdata/workloads/functional-query/queries/QueryTest/parquet-late-materialization-unique-db.test
3 files changed, 39 insertions(+), 12 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/66/24566/1
--
To view, visit http://gerrit.cloudera.org:8080/24566
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I18f0e69c267c9bf041ff9f6a3d677239ae43971a
Gerrit-Change-Number: 24566
Gerrit-PatchSet: 1
Gerrit-Owner: Yifan Zhang <[email protected]>

Reply via email to