mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-22 09:30:45 +00:00
The config variable `components_memory_reclaim_threshold` limits the memory available to the sstable bloom filters. Any change to its value is not immediately propagated to the sstable manager, despite it being a LiveUpdate variable. The updated value takes effect only when a new sstable is created or deleted. This PR first refactors the reclaim and reload logic into a single background fiber. It then updates the sstable manager to subscribe to changes in the `components_memory_reclaim_threshold` configuration value and immediately triggers the reclaim/reload fiber when a change is detected. Fixes #21947 This is an improvement and does not need to be backported. Closes scylladb/scylladb#22725 * github.com:scylladb/scylladb: sstables_manager: trigger reclaim/reload on `components_memory_reclaim_threshold` update sstables_manager: maybe_reclaim_components: yield between iterations sstables_manager: rename `increment_total_reclaimable_memory_and_maybe_reclaim()` sstables_manager: move reclaim logic into `components_reclaim_reload_fiber()` sstables_manager: rename `_sstable_deleted_event` condition variable sstables_manager: rename `components_reloader_fiber()` sstables_manager: fix `maybe_reclaim_components()` indentation sstables_manager: reclaim components memory until usage falls below threshold sstables_manager: introduce `get_components_memory_reclaim_threshold()` sstables_manager: extract `maybe_reclaim_components()` sstables_manager: fix `maybe_reload_components()` indentation sstables_manager: extract out `maybe_reload_components()`