Skip to content

Antalya 25.8 Backport of #90059: Unblock ttl part drops for cold volumes - #2172

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

Antalya 25.8 Backport of #90059: Unblock ttl part drops for cold volumes#2172
mkmkme wants to merge 1 commit into
antalya-25.8from
backports/antalya-25.8/90059

Conversation

@mkmkme

@mkmkme mkmkme commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator

25.8.16 Stable Backport of ClickHouse#90059: Unblock ttl part drops for cold volumes

Same as #1363, but for Antalya 25.8.

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

Split part ranges by volume characteristics to enable TTL drop merges for cold volumes. After this patch, parts with a max TTL < now will be removed from cold storage. The algorithm will schedule only single part drops. (ClickHouse#90059 by @Michicosun)

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.16 Stable Backport of ClickHouse#90059: Unblock ttl part drops for cold volumes
@mkmkme mkmkme added antalya backport Backport antalya-25.8 25.8 25.8 Altinity Stable labels Aug 5, 2026
@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown

Workflow [PR], commit [dba57d4]

@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: 7 red checks, but only 3 distinct failures — all in the Iceberg / Swarms regression suites. 0 are caused by this PR; all are pre-existing flaky / test-framework issues in the external clickhouse-regression suite. The FinishCIReport red is just the aggregate gate reflecting those three.

Everything that actually exercises this change is green: all builds (amd/arm), Fast test, every Stateless combo, Stateful, Stress, AST fuzzer, BuzzHouse, and — most importantly — Integration tests (fail: 0 on all 5 shards), which include this PR's own new test test_no_merges_volume_ttl.

Why the PR is not responsible

This is a MergeTree TTL / cold-volume compaction backport. The diff only touches:

  • src/Storages/MergeTree/Compaction/** (PartProperties, TTLMergeSelector, merge predicates, parts collectors)
  • src/Storages/MergeTree/MergeTreeDataMergerMutator.cpp
  • tests/integration/test_no_merges_volume_ttl/** (new)

None of that is on any Iceberg, object-storage, REST/Glue-catalog, swarm, or JOIN code path. There is no plausible mechanism by which it affects these suites.

Per-failure breakdown

1. Regression x86 iceberg_1 / RegressionTestsRelease / Iceberg (1) — pre-existing / test-framework

✘ [ Fail ]  /iceberg/iceberg engine/rest catalog/position delete reads/read position deletes  — AssertionError
✘ [ Error ] /iceberg/iceberg engine/rest catalog/sort key timezone  — AttributeError: feature_supported

The sort key timezone case is an AttributeError: feature_supported — a Python bug inside the regression framework itself, not a ClickHouse defect. position delete reads is a data-assertion against a live REST catalog + MinIO.

2. Regression x86 iceberg_2 / RegressionTestsRelease / Iceberg (2) — pre-existing / flaky

✘ [ Fail ] /iceberg/iceberg engine/glue catalog/position delete reads/read position deletes  — AssertionError

Same "position delete reads" assertion, this time against the Glue catalog path.

3. Regression x86 swarms / RegressionTestsRelease / Swarms — pre-existing / flaky

✘ [ Fail ] /swarms/feature/node failure/check restart swarm node  — AssertionError (r.exitcode == exitcode)
✘ [ Fail ] /swarms/feature/swarm joins/join clause/join 775 of 816480: iceberg(...) with s3(...) LEFT ANY JOIN  — AssertionError

A node-restart resilience assertion and an iceberg×s3 JOIN case — both depend on external MinIO/catalog services and node-restart timing, the classic flaky surface of these suites.

4. FinishCIReport — aggregate gate only; red solely because of the three suites above. No independent failure.

Suggested next step

No code change is needed on this PR. Safe to re-run the Iceberg (1/2) and Swarms regression jobs — these Altinity regression suites hit real MinIO/Glue/REST-catalog services and node-restart timing and are known to be intermittent on the antalya branches; the AttributeError: feature_supported in particular is a framework bug that lives in Altinity/clickhouse-regression, not in this binary. If any of them reproduces deterministically across reruns, it should be tracked against the regression suite rather than blocking this backport.

@mkmkme mkmkme added the verified Approved for release label Aug 6, 2026
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