Skip to content

Antalya 26.3 Backport of #107059 - Fix NOT_FOUND_COLUMN_IN_BLOCK in the native Parquet V3 reader prewhere handling - #2624

Merged
mkmkme merged 2 commits into
antalya-26.3from
fix/antalya-26.3/not-found-in-block
Oct 22, 2026
Merged

mkmkme merged 2 commits into
antalya-26.3from
fix/antalya-26.3/not-found-in-block

Conversation

@mkmkme

@mkmkme mkmkme commented Oct 21, 2026

Copy link
Copy Markdown
Collaborator

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):

Fix NOT_FOUND_COLUMN_IN_BLOCK in the native Parquet V3 reader (regression from ClickHouse#93542) when a PREWHERE had conjuncts sharing a common intermediate expression. (ClickHouse#107059 by @groeneai)

Documentation entry for user-facing changes

...

CI/CD Options

Exclude tests:

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

Regression jobs to run:

  • Fast suites (mostly <1h)
  • Aggregate Functions (2h)
  • Alter (1.5h)
  • Benchmark (30m)
  • CAS (content-addressed storage; Antalya only)
  • ClickHouse Keeper (1h)
  • Iceberg (2h)
  • LDAP (1h)
  • OAuth (5m)
  • Parquet (1.5h)
  • RBAC (1.5h)
  • SSL Server (1h)
  • S3 (2h)
  • S3 Export (2h)
  • Swarms (30m)
  • Tiered Storage (2h)

…where-shared-intermediate-106147

Fix NOT_FOUND_COLUMN_IN_BLOCK in the native Parquet V3 reader prewhere handling
@github-actions

github-actions Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Workflow [PR], commit [bae20ca]

@mkmkme

mkmkme commented Oct 22, 2026

Copy link
Copy Markdown
Collaborator Author

@blau-ai

@blau-ai

blau-ai commented Oct 22, 2026

Copy link
Copy Markdown
Collaborator

CI triage — 2 failures, 0 PR-caused

Verdict: this PR did not cause any of the red checks. Both real failures are pre-existing/flaky and live in code paths this PR doesn't touch (it only changes the native Parquet V3 reader's preparePrewhere). The third red check (PR) is just the aggregate rollup of the two below.

Check Failing item Classification
Stateless (amd_asan, db disk, distributed plan, sequential) 04306_delta_lake_merge_missing_table_state Pre-existing bug #2622 (not PR-related)
RegressionTestsRelease / Swarms node failure/check restart swarm node Flaky/infra resilience test (not PR-related)

1. Stateless — 04306_delta_lake_merge_missing_table_state → pre-existing (#2622)

--- .../04306_delta_lake_merge_missing_table_state.reference
+++ .../04306_delta_lake_merge_missing_table_state.stdout
@@ -1,2 +1,2 @@
-1
-2
+\N
+\N

The test reads a column-mapped Delta Lake struct (data_delta_lake/struct_column_mapping/data.parquet) and the subcolumns come back NULL. The failing random-settings variant ran with input_format_parquet_use_native_reader_v3 = 0, i.e. the Arrow Parquet reader.

That is exactly the open bug #2622 — "Antalya 26.3: subcolumn of a column-mapped Delta Lake struct reads as NULL with the Arrow Parquet reader." It is reader-selection dependent, which is why it's flaky: the same test showed Failed: 1 in Stateless (amd_debug, sequential) but recovered on retry there (that shard happened to pass on re-run).

2. RegressionTestsRelease / Swarms — node failure/check restart swarm node → flaky/infra

✘ [ Fail ] /swarms/feature/node failure/check restart swarm node  (AssertionError)
  File ".../swarms/tests/node_failure.py", line 108, in run_long_query
    assert result.exitcode in expected_exitcodes, error(...)

A cluster node-restart resilience test: it kills/restarts a swarm node mid-query and asserts the client exit code lands in an allow-list. The query returned an exit code outside that list during the restart window — a timing-sensitive resilience/infra check, unrelated to Parquet reading or anything in this diff (1 scenario failed out of 1535).

  • Next step: safe to re-run.

Everything else is green

Builds (amd asan/debug/ubsan/release/binary), Fast test, all other Stateless shards (parallel/sequential/s3/db-disk), all Integration shards, Unit tests (asan/ubsan), Stress, AST/BuzzHouse fuzzers, and SQLLogic all passed. The PR's two new regression tests (04327_parquet_v3_prewhere_shared_intermediate, 04342_parquet_v3_prewhere_intermediate_name_collision) are only enumerated on failure; the suites they run in are green, so they passed.

Bottom line: no PR-side fix required. Re-running the two failed jobs is the only action; the Delta Lake one will remain red until #2622 is resolved.

@mkmkme mkmkme added the verified Approved for release label Oct 22, 2026
@mkmkme
mkmkme merged commit 597d498 into antalya-26.3 Oct 22, 2026
282 of 287 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants