8000 CAS orphan sweep scheduling by k-morozov · Pull Request #2800 · Altinity/ClickHouse · GitHub
[go: up one dir, main page]

Skip to content

CAS orphan sweep scheduling - #2800

Draft
k-morozov wants to merge 3 commits into
antalya-26.8from
feature/cas-orphan-sweep-scheduling
Draft

k-morozov wants to merge 3 commits into
antalya-26.8from
feature/cas-orphan-sweep-scheduling

Conversation

@k-morozov
@k-morozov k-morozov commented Nov 5, 2026 •
Copy link
Copy Markdown

Changelog category (leave one):

  • New Feature

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

...

Documentation entry for user-facing changes

...

CI/CD Options

Exclude tests:

  • Fast test
  • Integration Tests
  • Stateless tests
  • Stateful tests
  • Unit 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)

Describe the hourly interval, accepted traversal progress and bounded
retries after suppression. Explain the settings and phase metrics in
the operator and format documentation.

Context: https://gist.github.com/filimonov/1b96ea358804b1c6e22c45380cc65469
Signed-off-by: Konstantin Morozov <just.morozov.k@gmail.com>
Cover clock boundaries, legacy state, page progress, round adoption,
retry pacing and recovery. Use explicit zero intervals in fixtures
that need successive orphan sweeps, including `CASWriterDuties`.

Add a stateless test for the default and zero interval through manual
GC rounds, with data and FSCK checks.

Context: https://gist.github.com/filimonov/1b96ea358804b1c6e22c45380cc65469
Signed-off-by: Konstantin Morozov <just.morozov.k@gmail.com>
Add `cas_orphan_manifest_sweep_interval_sec` with a default of 3600.
Persist traversal progress with the round state CAS and continue active
pages without the interval wait.

Use generation-scoped local retry pacing after committed suppression.
Keep ordinary fold triggers and destructive checks unchanged.

Validation: release build, 77 focused C++ tests and the scheduling
stateless test through Praktika.

Context: https://gist.github.com/filimonov/1b96ea358804b1c6e22c45380cc65469
Signed-off-by: Konstantin Morozov <just.morozov.k@gmail.com>
@k-morozov k-morozov added antalya CAS antalya-26.8 Session label (releasy session config) labels Nov 5, 2026
@github-actions
github-actions Bot commented Nov 5, 2026
Copy link
Copy Markdown

Workflow [PR], commit [a213170]

This branch has not been deployed

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

Labels

antalya antalya-26.8 Session label (releasy session config) CAS

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

0