diff --git a/database.cc b/database.cc index 757af35694..30338711ed 100644 --- a/database.cc +++ b/database.cc @@ -164,7 +164,7 @@ void keyspace::remove_user_type(const user_type ut) { utils::UUID database::empty_version = utils::UUID_gen::get_name_UUID(bytes{}); -database::database(const db::config& cfg, database_config dbcfg) +database::database(const db::config& cfg, database_config dbcfg, service::migration_notifier& mn) : _stats(make_lw_shared()) , _cl_stats(std::make_unique()) , _cfg(cfg) @@ -213,6 +213,7 @@ database::database(const db::config& cfg, database_config dbcfg) , _system_sstables_manager(std::make_unique(*_nop_large_data_handler)) , _result_memory_limiter(dbcfg.available_memory / 10) , _data_listeners(std::make_unique(*this)) + , _mnotifier(mn) { local_schema_registry().init(*this); // TODO: we're never unbound. setup_metrics(); @@ -1982,11 +1983,3 @@ const timeout_config infinite_timeout_config = { 1h, 1h, 1h, 1h, 1h, 1h, 1h, }; -service::migration_notifier& database::get_notifier() { - return service::get_local_migration_manager().get_notifier(); -} - -const service::migration_notifier& database::get_notifier() const { - return service::get_local_migration_manager().get_notifier(); -} - diff --git a/database.hh b/database.hh index a74862927a..72a44175b9 100644 --- a/database.hh +++ b/database.hh @@ -1315,6 +1315,8 @@ private: friend db::data_listeners; std::unique_ptr _data_listeners; + service::migration_notifier& _mnotifier; + bool _supports_infinite_bound_range_deletions = false; future<> init_commitlog(); @@ -1349,7 +1351,7 @@ public: void set_enable_incremental_backups(bool val) { _enable_incremental_backups = val; } future<> parse_system_tables(distributed&); - database(const db::config&, database_config dbcfg); + database(const db::config&, database_config dbcfg, service::migration_notifier& mn); database(database&&) = delete; ~database(); @@ -1373,8 +1375,8 @@ public: return *_compaction_manager; } - service::migration_notifier& get_notifier(); - const service::migration_notifier& get_notifier() const; + service::migration_notifier& get_notifier() { return _mnotifier; } + const service::migration_notifier& get_notifier() const { return _mnotifier; } void add_column_family(keyspace& ks, schema_ptr schema, column_family::config cfg); future<> add_column_family_and_make_directory(schema_ptr schema); diff --git a/main.cc b/main.cc index 31f54b72f7..a5b58a94c4 100644 --- a/main.cc +++ b/main.cc @@ -705,7 +705,7 @@ int main(int ac, char** av) { dbcfg.memtable_scheduling_group = make_sched_group("memtable", 1000); dbcfg.memtable_to_cache_scheduling_group = make_sched_group("memtable_to_cache", 200); dbcfg.available_memory = memory::stats().total_memory(); - db.start(std::ref(*cfg), dbcfg).get(); + db.start(std::ref(*cfg), dbcfg, std::ref(mm_notifier)).get(); auto stop_database_and_sstables = defer_verbose_shutdown("database", [&db] { // #293 - do not stop anything - not even db (for real) //return db.stop(); diff --git a/test/boost/gossip_test.cc b/test/boost/gossip_test.cc index ad4b90b994..33ea2ea4bb 100644 --- a/test/boost/gossip_test.cc +++ b/test/boost/gossip_test.cc @@ -83,7 +83,7 @@ SEASTAR_TEST_CASE(test_boot_shutdown){ service::get_storage_service().start(std::ref(abort_sources), std::ref(db), std::ref(gms::get_gossiper()), std::ref(auth_service), std::ref(cql_config), std::ref(sys_dist_ks), std::ref(view_update_generator), std::ref(feature_service), sscfg, std::ref(mm_notif), true).get(); auto stop_ss = defer([&] { service::get_storage_service().stop().get(); }); - db.start(std::ref(cfg), dbcfg).get(); + db.start(std::ref(cfg), dbcfg, std::ref(mm_notif)).get(); auto stop_db = defer([&] { db.stop().get(); }); auto stop_database_d = defer([&db] { stop_database(db).get(); diff --git a/test/lib/cql_test_env.cc b/test/lib/cql_test_env.cc index d820ba2c67..4573f21af0 100644 --- a/test/lib/cql_test_env.cc +++ b/test/lib/cql_test_env.cc @@ -414,7 +414,7 @@ public: database_config dbcfg; dbcfg.available_memory = memory::stats().total_memory(); - db->start(std::ref(*cfg), dbcfg).get(); + db->start(std::ref(*cfg), dbcfg, std::ref(mm_notif)).get(); auto stop_db = defer([db] { db->stop().get(); });