mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-28 04:06:59 +00:00
" This series adds maybe_yield called from cleanup_compaction::get_ranges_for_invalidation to avoid reactor stalls. To achieve that, we first extract bool_class can_yield to utils/maybe_yield.hh, and add a convience helper: utils::maybe_yield(can_yield) that conditionally calls seastar::thread::maybe_yield if it can (when called in a seastar thread). With that, we add a can_yield parameter to dht::to_partition_ranges and dht::partition_range::deoverlap (defaults to false), and use it from cleanup_compaction::get_ranges_for_invalidation, as the latter is always called from `consume_in_thread`. Fixes #7674 Test: unit(dev) " * tag 'unstall-get_ranges_for_invalidation-v2' of github.com:bhalevy/scylla: compaction: cleanup_compaction: get_ranges_for_invalidation: add yield points dht/i_partitioner: to_partition_ranges: support yielding locator: extract can_yield to utils/maybe_yield.hh