Skip to content

Antalya 25.8 backport of #90243: Fix crash in StorageDistributed when parsing malformed shard directory names - #2168

Open
mkmkme wants to merge 1 commit into
antalya-25.8from
backports/antalya-25.8/90243
Open

Antalya 25.8 backport of #90243: Fix crash in StorageDistributed when parsing malformed shard directory names#2168
mkmkme wants to merge 1 commit into
antalya-25.8from
backports/antalya-25.8/90243

Conversation

@mkmkme

@mkmkme mkmkme commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator

25.8.15 Stable backport of ClickHouse#90243: Fix crash in StorageDistributed when parsing malformed shard directory names

Same as #1343, but for Antalya 25.8

Changelog category (leave one):

  • Critical Bug Fix (crash, data loss, RBAC)

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

Fix crash in StorageDistributed when parsing malformed shard directory names (ClickHouse#90243 by @AVMusorin)

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)

25.8.15 Stable backport of ClickHouse#90243: Fix crash in StorageDistributed when parsing malformed shard directory names
@mkmkme mkmkme added antalya backport Backport antalya-25.8 25.8 25.8 Altinity Stable labels Aug 5, 2026
@mkmkme

mkmkme commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator Author

No tests in the PR. Will self-verify once CI finishes

@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown

Workflow [PR], commit [1409237]

@mkmkme

mkmkme commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator Author

@blau-ai

@blau-ai

blau-ai commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator

CI triage

Verdict: no PR-caused failures. The only red checks are the Iceberg/Swarms regression suites plus the FinishCIReport gate that aggregates them. Everything this backport actually touches is green: all builds, Fast test, Stateless (debug/binary/ParallelReplicas/DatabaseReplicated), all 5 Integration shards, Stress, AST fuzzer, BuzzHouse, Compatibility, Grype, and the Parquet/S3-Export regression suites.

This PR is a one-file change to StorageDistributed::parseAddresses — it only tightens validation of malformed shard directory names (rejects replica_index == 0, improves the log message). It does not touch Iceberg, object-storage reads, JOIN execution, or swarm clusters. The failing suites exercise exactly those unrelated code paths.

Decisive cross-check

Unrelated sibling backport #2169 ("Unblock ttl part drops for cold volumes"), built on the same antalya-25.8 base, shows the identical results — Iceberg (1) 1 module (1 errored) and Iceberg (2) 1 module (1 failed) — and its Swarms passed. Same failures on an unrelated PR ⇒ pre-existing on the branch, not caused by #2168.


Per-check breakdown

FinishCIReport — fail → not independent. Aggregate reporting gate; red only because the regression jobs below are red. Nothing to fix here directly.

Regression x86 iceberg_1 / RegressionTestsRelease / Iceberg (1) — pre-existing.
1 feature failed + 3 errored (44 features: 40 ok, 1 failed, 3 errored). Root causes are in the Iceberg suite / test framework, not server code:

  • ✘ [Error] /iceberg/iceberg engine/rest catalog/sort key timezoneAttributeError: feature_supported (a bug in the clickhouse-regression test code itself).
  • ✘ [Fail] .../rest catalog/position delete reads/read position deletes.

Regression x86 iceberg_2 / RegressionTestsRelease / Iceberg (2) — pre-existing.
6 features failed (33 features: 27 ok, 6 failed): glue-catalog position delete reads, iceberg-engine position delete smoke, compaction smoke. One failure is Code: 552 ... Unrecognized option '--allow_insert_into_iceberg'. (UNRECOGNIZED_ARGUMENTS) — the test passes a build flag not present in this release build. All Iceberg-feature specific; identical to #2169.

Regression x86 swarms / RegressionTestsRelease / Swarms — flaky (not PR-related).
A single scenario failed (1521 scenarios: 1488 ok, 1 failed):

join 577: icebergS3Cluster(replicated_cluster, '…/warehouse/data2', …)
          RIGHT ANY JOIN s3('…/warehouse/data2/data/**.parquet', …)
Code: 170. DB::Exception: Bad get: has Int64, requested Decimal64:
           While executing ReadFromObjectStorage. (BAD_GET)

This is an Iceberg/object-storage type-coercion bug (Int64 vs Decimal64 on a timestamptz_col read), unrelated to Distributed shard-directory parsing. Swarms passed on sibling #2169 with the same base build, so this is a flaky/pre-existing failure, not caused by this PR.


Suggested next steps

  • No code change needed on this PR — none of the failures are attributable to it. Correctness of the backported fix is covered by the (green) Distributed/stateless/integration checks.
  • The Iceberg (1)/(2) failures are reproducible on the branch and worth tracking separately from this backport (the AttributeError: feature_supported and --allow_insert_into_iceberg ones look like regression-suite/build-option drift rather than server bugs). Related open issues: Iceberg DataLakeCatalog: ALTER DELETE fails with Metadata is not initialized (LOGICAL_ERROR) #2136, Add support for Apache Iceberg v3 deletion vectors #2002.
  • Safe to re-run the Swarms job to clear the flake; if a green regression run is required to merge, a re-run of the three red regression jobs is the only action.

(Analysis from CI artifacts only — I can't build/run ClickHouse in this environment; the backported fix is validated by the passing Distributed-related checks on this PR.)

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 antalya antalya-25.8 backport Backport verified Approved for release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants