mirror of
https://github.com/scylladb/scylladb.git
synced 2026-06-06 06:53:12 +00:00
We make the `CDC_GENERATIONS_V3` table single-partition and change the clustering key from `range_end` to `(id, range_end)`. We also change the type of `id` to `timeuuid` and ensure that a new generation always has the highest `id`. These changes allow efficient clearing of obsolete CDC generation data, which we need to prevent Raft-topology snapshots from endlessly growing as we introduce new generations over time. All this code is protected by an experimental feature flag. It includes the definition of `CDC_GENERATIONS_V3`. The table is not created unless the feature flag is enabled. Fixes #15163 Closes #15319 * github.com:scylladb/scylladb: system_keyspace: rename cdc_generation_id_v2 system_keyspace: change id to timeuuid in CDC_GENERATIONS_V3 cdc: generation: remove topology_description_generator cdc: do not create uuid in make_new_generation_data system_kayspace: make CDC_GENERATIONS_V3 single-partition cdc: generation: introduce get_common_cdc_generation_mutations cdc: generation: rename get_cdc_generation_mutations