database: Switch on mnotifier from migration_manager

Do not call for local migration manager instance to send notifications,
call for the local migration notifier, it will always be alive.

Signed-off-by: Pavel Emelyanov <xemul@scylladb.com>
This commit is contained in:
Pavel Emelyanov
2019-11-28 20:28:03 +03:00
parent f45b23f088
commit 7cfab1de77
5 changed files with 10 additions and 15 deletions

View File

@@ -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<db_stats>())
, _cl_stats(std::make_unique<cell_locker_stats>())
, _cfg(cfg)
@@ -213,6 +213,7 @@ database::database(const db::config& cfg, database_config dbcfg)
, _system_sstables_manager(std::make_unique<sstables::sstables_manager>(*_nop_large_data_handler))
, _result_memory_limiter(dbcfg.available_memory / 10)
, _data_listeners(std::make_unique<db::data_listeners>(*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();
}

View File

@@ -1315,6 +1315,8 @@ private:
friend db::data_listeners;
std::unique_ptr<db::data_listeners> _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<service::storage_proxy>&);
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);

View File

@@ -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();

View File

@@ -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();

View File

@@ -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();
});