Skip to content

GH-3747: [1.19] Preserve the final selected row when skipping pages - #3797

Open
sunchao wants to merge 1 commit into
apache:parquet-1.19.xfrom
sunchao:dev/chao/backport-3748-parquet-1.19.x
Open

sunchao wants to merge 1 commit into
apache:parquet-1.19.xfrom
sunchao:dev/chao/backport-3748-parquet-1.19.x

Conversation

@sunchao

@sunchao sunchao commented Sep 16, 2026

Copy link
Copy Markdown
Member

Rationale for this change

Backport #3748 to parquet-1.19.x to fix column-index filtering returning a value from an earlier row when the final selected row requires advancing to another page.

What changes are included in this PR?

Clean cherry-pick of 2431888, with no adaptations. Keep SynchronizingColumnReader active until its final selected row is reached, and include the original four regression tests covering optional/repeated columns and V1/V2 pages.

Are these changes tested?

Validated on parquet-1.19.x at d29073e0dfa1dd9048b3bcee920b56e29ab1ad59 using Java 17, Maven 3.9.16, and Thrift 0.24.0:

  • ./mvnw -pl parquet-column -am -Dtest=TestColumnReaderImpl -Dsurefire.failIfNoSpecifiedTests=false test: 7 tests passed, including all four backported regressions.
  • ./mvnw -pl parquet-column -am spotless:check: passed.
  • git diff --check: passed; the backport patch matches the original merged commit.

Are there any user-facing changes?

Column-index filtering returns the correct value for the final selected row. No public API or file-format changes.

Original PR: #3748. Related issue: #3747.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants