Skip to content

Cherry-pick: Fix parquet reader v3 handling arrays that cross pages - #2053

Merged
zvonand merged 1 commit into
stable-25.8from
releasy/port/pr-94125-a3a14d
Jul 17, 2026
Merged

Cherry-pick: Fix parquet reader v3 handling arrays that cross pages#2053
zvonand merged 1 commit into
stable-25.8from
releasy/port/pr-94125-a3a14d

Conversation

@zvonand

@zvonand zvonand commented Jul 15, 2026

Copy link
Copy Markdown
Member

Cherry-picked from ClickHouse#94125.

Changelog category (leave one):

  • Bug Fix (user-visible misbehavior in an official stable release)

Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):

Fixed parquet reader v3 incorrectly handling arrays that cross page boundaries. This happens e.g. for files written by Arrow without enabling page statistics or page index. Affects only columns of Array data type. Likely symptom is that one array every ~1 MB of data gets truncated. Before this fix, use this setting as workaround: input_format_parquet_use_native_reader_v3 = 0 (ClickHouse#94125 by @al13n321)

CI/CD Options

Exclude tests:

  • Fast test
  • Integration Tests
  • Stateless tests
  • Stateful tests
  • Performance tests
  • All with ASAN
  • All with TSAN
  • All with MSAN
  • All with UBSAN
  • All with Coverage
  • All with Aarch64
  • All Regression
  • Disable CI Cache

Regression jobs to run:

  • Fast suites (mostly <1h)
  • Aggregate Functions (2h)
  • Alter (1.5h)
  • Benchmark (30m)
  • ClickHouse Keeper (1h)
  • Iceberg (2h)
  • LDAP (1h)
  • Parquet (1.5h)
  • RBAC (1.5h)
  • SSL Server (1h)
  • S3 (2h)
  • S3 Export (2h)
  • Swarms (30m)
  • Tiered Storage (2h)

Fix parquet reader v3 handling arrays that cross pages
@zvonand zvonand added the 25.8 25.8 Altinity Stable label Jul 15, 2026
@github-actions

Copy link
Copy Markdown

Workflow [PR], commit [21d5a5d]

@zvonand

zvonand commented Jul 17, 2026

Copy link
Copy Markdown
Member Author

@blau-ai

@blau-ai

blau-ai commented Jul 17, 2026

Copy link
Copy Markdown
Collaborator

CI triage — PR #2053 (cherry-pick of ClickHouse#94125, parquet reader v3)

Verdict: 22 red checks → 0 are caused by this PR. All are infra (runner deaths), pre-existing flaky/known test failures that reproduce on the base branch, container-scanner noise, or aggregate gates that are only red because of the above. The fix's actual surface is green: every Parquet and Iceberg regression suite passed.

The diff touches only src/Processors/Formats/Impl/Parquet/Reader.{cpp,h} (skipToRowskipToRowOrNextPage). None of the failing tests exercise that path.


1. Infra — self-hosted runner lost communication (safe to re-run)

These jobs all died at exactly 10m1s with the annotation:

"The self-hosted runner lost communication with the server… Anything that terminates the runner process, starves it for CPU/Memory, or blocks its network access can cause this error."

  • Stateless tests: amd_asan distributed plan sequential, amd_binary ParallelReplicas s3 (parallel & sequential), amd_binary old analyzer s3 DatabaseReplicated sequential, amd_debug AsyncInsert s3 (parallel & sequential), amd_debug distributed plan s3 (parallel & sequential), amd_debug sequential

→ Not PR-related. Re-run the failed jobs.

2. Pre-existing flaky / environmental test failures (reproduce on base branch)

The four …, parallel jobs that actually completed report Failed: 1–3, and the runner itself marks them non-blocking (NOTE: Failed N tests - do not block pipeline, exit with 0). The failing tests:

  • 04340_datalake_schema_deep_recursion — fails in all 4 configs (asan / binary-DBReplicated / debug / arm). Confirmed failing identically on the base branch stable-25.8 (run 29519404666, job 87897702978, Failed: 1 → same test). A DataLake test with external dependencies — nothing to do with the parquet reader.
  • 04409_explain_actions_secret_args / 04410_explain_actions_secret_args_secondary (DatabaseReplicated only) — introduced by a separate, already-merged backport (Backport #108386 to 25.8: Hide secret arguments in EXPLAIN actions, commits fbf671cc2c3 / 80a1883b19a), not by this PR. Also failing on base.
  • 03441_deltalake_clickhouse_* — counted as Broken (external DeltaLake public datasets), pre-existing.

→ Not PR-related. Pre-existing on stable-25.8; track/fix separately from this port.

3. Grype container scans (keeper / server / server-alpine, and the GrypeScan* jobs)

Each status text says "Grype Scan Completed with 0 high/critical vulnerabilities" yet shows red. This is an image-vulnerability scanner; a C++ parquet-reader change cannot affect it, and it reports 0 blocking findings. Infra/config quirk.

→ Not PR-related.

4. Aggregate gates — PR, FinishCIReport

Red only because they roll up the sub-jobs above. No independent failure.


The one item that is about this PR's commits: DCO

"All commits are incorrectly signed off, the check did not pass."

The cherry-picked commits (the merge commit + the upstream author commit) carry no Signed-off-by line. This is a commit-metadata/process issue, not a code defect, and is expected for a straight cherry-pick from upstream. It requires no code change. To clear it, a human can either:

  • rebase the branch adding Signed-off-by (git commit --amend -s / git rebase --signoff + force-push — I can't do this, force-push is outside my permissions), or
  • waive/override DCO for this port as Altinity typically does for upstream cherry-picks.

I did not push anything.


Health check

The port is a clean, minimal 1-file change and is functionally sound as far as CI can tell: Parquet (parquet, parquet_aws_s3, parquet_minio) and Iceberg regression suites all pass on both release and aarch64, and Fast test + the full Integration matrix are green. The only thing standing between this PR and green CI is a batch of runner deaths (re-run) plus pre-existing base-branch flakiness — none of it attributable to the parquet fix. Recommend: re-run the infra-killed Stateless jobs, resolve/waive DCO, and merge.

@zvonand
zvonand merged commit efe1983 into stable-25.8 Jul 17, 2026
157 of 179 checks passed
@zvonand zvonand added the verified Approved for release label Jul 17, 2026
@mkmkme

mkmkme commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator

Antalya is handled by #2103, removing from the project

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

Labels

25.8 25.8 Altinity Stable 25.8.28.10001 antalya-25.8 verified Approved for release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants