mirror of
https://github.com/scylladb/scylladb.git
synced 2026-05-12 19:02:12 +00:00
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:
11
database.cc
11
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<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();
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
2
main.cc
2
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();
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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();
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user