mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-28 12:17:02 +00:00
This series hardens compaction_manager::remove by: - add debug logging around task execution and stopping. - access compaction_state as lw_shared_ptr rather than via a raw pointer. - with that, detach it from `_compaction_state` in `compaction_manager::remove` right away, to prevent further use of it while compactions are stopped. - added write_lock in `remove` to make sure the lock is not held by any stray task. Test: unit(dev), sstable_compaction_test(debug) Dtest: alternator_tests.py:AlternatorTest.test_slow_query_logging (debug) Closes #9636 * github.com:scylladb/scylla: compaction_manager: add compaction_state when table is constructed compaction_manager: remove: fixup indentation compaction_manager: remove: detach compaction_state before stopping ongoing compactions compaction_manager: remove: serialize stop_ongoing_compactions and gate.close compaction_manager: task: keep a reference on compaction_state test: sstable_compaction_test: incremental_compaction_data_resurrection_test: stop table before it's destroyed. test: sstable_utils: compact_sstables: deregister compaction also on error path test: sstable_compaction_test: partial_sstable_run_filtered_out_test: deregiser_compaction also on error path test: compaction_manager_test: add debug logging to register/deregister compaction test: compaction_manager_test: deregister_compaction: erase by iterator test: compaction_manager_test: move methods out of line compaction_manager: compaction_state: use counter for compaction_disabled compaction_manager: task: delete move and copy constructors compaction_manager: add per-task debug log messages compaction_manager: stop_ongoing_compactions: log number of tasks to stop