Skip to content

Antalya 26.6 Export partition - check name and pos of columns in partition key - #2218

Merged
mkmkme merged 2 commits into
antalya-26.6from
bugfix/antalya/26.6/export-incorect-order-partition-key
Aug 18, 2026
Merged

Antalya 26.6 Export partition - check name and pos of columns in partition key#2218
mkmkme merged 2 commits into
antalya-26.6from
bugfix/antalya/26.6/export-incorect-order-partition-key

Conversation

@k-morozov

@k-morozov k-morozov commented Aug 17, 2026

Copy link
Copy Markdown

From 26.3 #2134

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

Added a check for the positions and names of columns that make up the partition key (including Tuple elements and nested Array/Map types) during ALTER TABLE ... EXPORT PART/PARTITION.

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

…orect-order

Export partition - check name and pos of columns in partition key.
@github-actions

github-actions Bot commented Aug 17, 2026

Copy link
Copy Markdown

Workflow [PR], commit [155107d]

@k-morozov k-morozov changed the title [WIP] Antalya 26.6 Export partition - check name and pos of columns in partition key Antalya 26.6 Export partition - check name and pos of columns in partition key Aug 17, 2026
@k-morozov

Copy link
Copy Markdown
Author

Some regression tests failed - export_merge_tree_part_schema_mismatch_mode will be added in next PR.

@k-morozov
k-morozov marked this pull request as ready for review August 17, 2026 17:20
@mkmkme mkmkme added the port-antalya PRs to be ported to all new Antalya releases label Aug 17, 2026
@mkmkme

mkmkme commented Aug 17, 2026

Copy link
Copy Markdown
Collaborator

The last CI run seemed stuck due to GH outage. I've merged the base into the PR to trigger the new CI run

@mkmkme

mkmkme commented Aug 18, 2026

Copy link
Copy Markdown
Collaborator

@blau-ai

@blau-ai

blau-ai commented Aug 18, 2026

Copy link
Copy Markdown
Collaborator

CI triage for #2218

Verdict: 6 red checks — 0 caused by this PR. All are pre-existing / infra / flaky / regression-suite-vs-build version skew. The PR's own new validation error strings (... is at position N in the source table, different Tuple element layout) appear 0 times across the failure logs, and this PR touches only docs/, the 4 EXPORT C++/header files, and 4 tests/integration/* files — none of the suites below.

I can't build/run ClickHouse here, so this is evidence-from-CI (downloaded the fails.log.txt / nice-new-fails.log.txt artifacts for each failing job).

Check Class Root cause
S3Export (part) / s3_export_part pre-existing (stale test) stale expected exit codes + REPLACE PARTITION guard
Iceberg (2) / iceberg_2 version skew / infra suite uses a setting not in this build; stale exit codes; leftover tables
Swarms / swarms flaky/infra distributed node-restart timing
SQLLogic test infra/flaky ran below the minimum test-count threshold
Stateless tests (amd_debug, parallel) infra/external DeltaLake kernel + startup connection errors
PR rollup aggregate of the above, no independent error

RegressionTestsRelease / S3Export (part) / s3_export_part — 5 scenarios

Not PR-related. Two distinct pre-existing issues in the (separately-maintained) testflows suite:

  • error handling/pending mutations and error handling/pending patch parts — the server does exactly the right thing:
    Code: 1009. DB::Exception: Part 1_1_1_0 can not be exported because there are pending mutations ... (PENDING_MUTATIONS_NOT_ALLOWED)
    
    Client exit code is 241 (= 1009 % 256), but the test asserts results[0].exitcode == 237. The semantics/message are correct; only the hardcoded expected exit code (237) is stale in the regression suite.
  • concurrent alter/{before,after,stress} export → example=replace partition — fails on an unrelated REPLACE PARTITION safety guard:
    Code: 36. ... refusing `REPLACE PARTITION` because it would silently drop the destination partition's data.
    Set `allow_replace_partition_from_empty_source = 1` ... (BAD_ARGUMENTS)
    
    This is the empty-source REPLACE PARTITION guard, nothing to do with EXPORT schema validation.

RegressionTestsRelease / Iceberg (2) / iceberg_2 — 86/207 features, 239 scenarios

Not PR-related — regression-suite ahead of this build. Representative log lines:

Code: 552. DB::Exception: Unrecognized option '--export_merge_tree_part_schema_mismatch_mode' ... (UNRECOGNIZED_ARGUMENTS)
Expected duplicate-export client exit 36 or 238, got 242:
  Code: 1010. ... (EXPORT_PARTITION_ALREADY_EXPORTED)          # 1010 % 256 = 242, stale expected codes
Code: 57.  ... Iceberg table with path data/iceberg_.../ already exists. (TABLE_ALREADY_EXISTS)   # leftover state / isolation

I confirmed export_merge_tree_part_schema_mismatch_mode does not exist anywhere in src/ on this branch — the suite in Altinity/clickhouse-regression expects newer server features than this build carries. Even the basic "accepted"/"sanity" export cases fail on TABLE_ALREADY_EXISTS (test-isolation), not on export logic.

RegressionTestsRelease / Swarms / swarms — 1 scenario

Not PR-related. node failure/check restart swarm node: a long query issued while a swarm node is restarted expected client exit 138, got 0 (query completed). Timing-dependent distributed-resiliency test → flaky/infra.

SQLLogic test

Not PR-related. Threshold gate tripped: FAILED: total tests 4,468,123 < minimum 5,939,581. The run executed far fewer tests than the required minimum (partial run/timeout); the failed-test count was within tolerance. Infra/flaky, and SQLLogic doesn't exercise EXPORT PART.

Stateless tests (amd_debug, parallel) — Failed 1, Broken 3

Not PR-related. Failures are external-dependency/DeltaLake, plus a server-startup blip:

Code: 742. DB::Exception: Received DeltaLake kernel error    # 03441_deltalake_clickhouse_* tests
Code: 210. DB::NetException: Connection refused (localhost:9000). (NETWORK_ERROR)   # startup, retried

DeltaLake read tests + a startup connection retry — infra/external, unrelated to this PR's EXPORT PART changes.


Suggested next steps

  • No code change is needed in this PR to address these — none are its fault.
  • Safe to re-run Swarms, SQLLogic test, and Stateless tests (amd_debug, parallel) (flaky/infra/external).
  • s3_export_part and iceberg_2 are failing on stale expected exit codes and a setting (--export_merge_tree_part_schema_mismatch_mode) that isn't in this build — these live in Altinity/clickhouse-regression and need to be updated there (or the build needs to catch up); they can't be fixed from this repo PR. Worth confirming with the regression maintainers that both are already red on antalya-26.6 for the same reasons.

Note: I inferred "pre-existing" from the root causes above (suite references a non-existent setting, stale hardcoded exit codes, external deps, and the PR's own error strings being absent from every failure log) rather than from a direct base-branch run comparison — I couldn't locate a matching base-branch antalya-26.6 run to diff against.

@mkmkme mkmkme added the verified Approved for release label Aug 18, 2026
@mkmkme
mkmkme merged commit 7ae4d7d into antalya-26.6 Aug 18, 2026
246 of 257 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

antalya antalya-26.6 antalya-26.6.2.20001 port-antalya PRs to be ported to all new Antalya releases verified Approved for release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants