Skip to content

Cas separate phases during GC round - #2286

Open
k-morozov wants to merge 1 commit into
antalya-26.6from
cas/separate_phase_during_round
Open

k-morozov wants to merge 1 commit into
antalya-26.6from
cas/separate_phase_during_round

Conversation

@k-morozov

@k-morozov k-morozov commented Aug 28, 2026 •

Copy link
Copy Markdown

Changelog category (leave one):

  • Not for changelog (changelog entry is not required)

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

GC round: split the phases into separate functions.

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)

@github-actions

github-actions Bot commented Aug 28, 2026 •

Copy link
Copy Markdown

Workflow [PR], commit [683c7ca]

@k-morozov
k-morozov marked this pull request as ready for review August 31, 2026 09:11
ilejn
ilejn previously approved these changes Sep 4, 2026

@ilejn ilejn left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ilejn

ilejn commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator

@k-morozov , do we have state diagram that illustrates GC states?

Signed-off-by: Konstantin Morozov <just.morozov.k@gmail.com>
@DimensionWieldr

Copy link
Copy Markdown
Collaborator

CI Failures Analysis

HEAD 683c7cac, run 34585156117. The seven failing jobs were rerun on 21 Sep (attempt 2). None of the failures are caused by this PR. The diff is CasGc.cpp / CasGc.h only, and every failure that stayed red is a bug already filed on other CAS work, or an asan flake that changed tests between attempts.

Related to this PR

None.

Cleared on rerun

  • swarms — passed in 26m. Attempt 1 was one race in /swarms/feature/node failure/check restart swarm node (query returned 0, test required exit 138).
  • cas_lightweight_delete_4 — passed in 2h 38m. Attempt 1 left count() = 0 where the test expected 2 after disjoint concurrent deletes. That miss did not repeat.
  • cas_alter_attach_1 — passed, 99.9% OK. Attempt 1 was a Code 210 mount lease not held storm on CREATE TABLE.

Pre-existing flaky (still red)

  • cas_selects — failed again, 21m, 99% OK. Same Code 210 mount lease not held on /selects/final/force/concurrent (895 hits). This is #2332, which already records this suite failing about 15 of 47 runs.
  • cas_alter_attach_3 — failed again, 2h 4m, 59.9% OK. Writes die with Code 210 CAS write could not be committed (persistent CAS contention on _ckpt, ref catalog gave up at the policy deadline). Code 341 is that error inside a mutation. This is #2343, filed from PR CAS improvements #2300, where every CAS attach part-3 shard failed, and the same load already failed on the CAS baseline. The low OK rate is that one catalog timeout spreading through the part-3 pool.

Infrastructure (still red)

  • Stateless tests amd_asan_ubsan, cas s3 storage, parallel 1/2 and 2/2. Attempt 2 failed a different set of tests from attempt 1 (no shared names). 03229_json_structure_comparison and 02474_unhex_in_fix_string failed once under randomized settings and then passed every diagnosis rerun. 02435_rollback_cancelled_queries (556s) and 02421_truncate_isolation_no_merges (359s) are timeouts. 02122_join_group_by_timeout missed its reference. The release CAS stateless jobs on this SHA are green.

Issue references

  • #2332 — cas_selects mount lease
  • #2343 — cas_alter_attach_3 ref catalog / _ckpt deadline
  • #2243 — earlier ephemeral-port form of the same lease error

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants