Files
scylladb/db/commitlog
Botond Dénes 54dd43f3b6 Merge 'Use commitlog cleanup table + repair history to reduce tombstone gc window' from Calle Wilund
Fixes: SCYLLADB-1416

Adds an optional replay_position to the (transient) replay history, and provides this (when available) to tombstone_gc gc_min_time callback checks.

When updating repair history, we set a commitlog cleanup record preventing replay of data lower than current flush position, and add said flush position to the local repair history.

The idea is that when set (not zero rp), this can be used to limit the commitlog segments from which we check timestamps, potentially filtering out older ones. This will allow tombstone gc repair case to potentially filter out some commitlog data, and thus reducing the retention window for tombstones.

Note: this does not affect the persisted repair history, only node-local, transient data.

Feature improvement. No backport needed.

Closes scylladb/scylladb#29854

* github.com:scylladb/scylladb:
  test_...data_resurrection: Add test case for repair CL truncation
  test.py: Make --log-level work again.
  repair: Set commitlog cleanup record and store replay pos in history
  tombstone_gc: Add optional replay_position to repair_history
  main/cql_test_env: Make tombstone gc_time_min_source use just table CL
  table: Add ready_for_writes attribute
  db::commitlog: Add optional replay_position sieve to min_gc_time
  db::replay_position: Add attribute valid()
2026-06-03 10:26:02 +03:00
..
2026-04-12 19:46:33 +03:00