mirror of
https://github.com/scylladb/scylladb.git
synced 2026-05-31 03:56:42 +00:00
The object in question is used to facilitate creation of table objects for compaction tests. Currently the table_for_test carries a bunch of auxiliary objects that are needed for table creation, such as stats of all sorts and table state. However, there's also some "infrastructure" stuff onboard namely: - reader concurrency semaphore - cache tracker - task manager - compaction manager And those four are excessive because all the tests in question run inside the sstables::test_env that has most of it. This PR removes the mentioned objects from table_for_tests and re-uses those from test_env. Also, while at it, it also removes the table::config object from table_for_tests so that it looks more like core code that creates table does. Closes scylladb/scylladb#15889 * github.com:scylladb/scylladb: table_for_tests: Use test_env's compaction manager sstables::test_env: Carry compaction manager on board table_for_tests: Stop table on stop table_for_tests: Get compaction manager from table table_for_tests: Ditch on-board concurrency semaphore table_for_tests: Require config argument to make table table_for_tests: Create table config locally table_for_tests: Get concurrency semaphore from table table_for_tests: Get table directory from table itself table_for_tests: Reuse cache tracker from sstables manager table_for_tests: Remove unused constructor tests: Split the compaction backlog test case sstable_test_env: Coroutinize and move to .cc test_env::stop()