mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-20 08:30:35 +00:00
Currently, sstable_manager is used to create sstables, but it loses track of them immediately afterwards. This series makes an sstable's life fully contained within its sstable_manager. The first practical impact (implemented in this series) is that file removal stops being a background job; instead it is tracked by the sstable_manager, so when the sstable_manager is stopped, you know that all of its sstable activity is complete. Later, we can make use of this to track the data size on disk, but this is not implemented here. Closes #7253 * github.com:scylladb/scylla: sstables: remove background_jobs(), await_background_jobs() sstables: make sstables_manager take charge of closing sstables test: test_env: hold sstables_manager with a unique_ptr test: drop test_sstable_manager test: sstables::test_env: take ownership of manager test: broken_sstable_test: prepare for asynchronously closed sstables_manager test: sstable_utils: close test_env after use test: sstable_test: dont leak shared_sstable outside its test_env's lifetime test: sstables::test_env: close self in do_with helpers test: perf/perf_sstable.hh: prepare for asynchronously closed sstables_manager test: view_build_test: prepare for asynchronously closed sstables_manager test: sstable_resharding_test: prepare for asynchronously closed sstables_manager test: sstable_mutation_test: prepare for asynchronously closed sstables_manager test: sstable_directory_test: prepare for asynchronously closed sstables_manager test: sstable_datafile_test: prepare for asynchronously closed sstables_manager test: sstable_conforms_to_mutation_source_test: remove references to test_sstables_manager test: sstable_3_x_test: remove test_sstables_manager references test: schema_changes_test: drop use of test_sstables_manager mutation_test: adjust for column_family_test_config accepting an sstables_manager test: lib: sstable_utils: stop using test_sstables_manager test: sstables test_env: introduce manager() accessor test: sstables test_env: introduce do_with_async_sharded() test: sstables test_env: introduce do_with_async_returning() test: lib: sstable test_env: prepare for life as a sharded<> service test: schema_changes_test: properly close sstables::test_env test: sstable_mutation_test: avoid constructing temporary sstables::test_env test: mutation_reader_test: avoid constructing temporary sstables::test_env test: sstable_3_x_test: avoid constructing temporary sstables::test_env test: lib: test_services: pass sstables_manager to column_family_test_config test: lib: sstables test_env: implement tests_env::manager() test: sstable_test: detemplate write_and_validate_sst() test: sstable_test_env: detemplate do_with_async() test: sstable_datafile_test: drop bad 'return' table: clear sstable set when stopping table: prevent table::stop() race with table::query() database: close sstable_manager:s sstables_manager: introduce a stub close() sstable_directory_test: fix threading confusion in make_sstable_directory_for*() functions test: sstable_datafile_test: reorder table stop in compaction_manager_test test: view_build_test: test_view_update_generator_register_semaphore_unit_leak: do not discard future in timer test: view_build_test: fix threading in test_view_update_generator_register_semaphore_unit_leak view: view_update_generator: drop references to sstables when stopping
99 KiB
99 KiB