mirror of
https://github.com/scylladb/scylladb.git
synced 2026-06-03 21:47:10 +00:00
main: Unsubscribe sl controller next to subscribing
The subscription only handles on_leave_cluster() and only for local node, so even if controller gets subscribed for longer, it won't do any harm. Signed-off-by: Pavel Emelyanov <xemul@scylladb.com>
This commit is contained in:
10
main.cc
10
main.cc
@@ -1893,6 +1893,11 @@ To start the scylla server proper, simply invoke as: scylla server (or just scyl
|
||||
sl_controller.invoke_on_all([&lifecycle_notifier] (qos::service_level_controller& controller) {
|
||||
lifecycle_notifier.local().register_subscriber(&controller);
|
||||
}).get();
|
||||
auto unsubscribe_sl_controller = defer_verbose_shutdown("service level controller subscription", [&lifecycle_notifier] {
|
||||
sl_controller.invoke_on_all([&lifecycle_notifier] (qos::service_level_controller& controller) {
|
||||
return lifecycle_notifier.local().unregister_subscriber(&controller);
|
||||
}).get();
|
||||
});
|
||||
|
||||
supervisor::notify("starting batchlog manager");
|
||||
db::batchlog_manager_config bm_cfg;
|
||||
@@ -2034,10 +2039,7 @@ To start the scylla server proper, simply invoke as: scylla server (or just scyl
|
||||
supervisor::notify("serving");
|
||||
// Register at_exit last, so that storage_service::drain_on_shutdown will be called first
|
||||
|
||||
auto drain_sl_controller = defer_verbose_shutdown("service level controller update loop", [&lifecycle_notifier] {
|
||||
sl_controller.invoke_on_all([&lifecycle_notifier] (qos::service_level_controller& controller) {
|
||||
return lifecycle_notifier.local().unregister_subscriber(&controller);
|
||||
}).get();
|
||||
auto drain_sl_controller = defer_verbose_shutdown("service level controller update loop", [] {
|
||||
sl_controller.invoke_on_all(&qos::service_level_controller::drain).get();
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user