diff --git a/gms/gossiper.cc b/gms/gossiper.cc index 869b6304ce..7525071272 100644 --- a/gms/gossiper.cc +++ b/gms/gossiper.cc @@ -470,10 +470,6 @@ future<> gossiper::init_messaging(bind_messaging_port do_bind) { } _ms_registered = true; - if (do_bind) { - return _messaging.start_listen(); - } - return make_ready_future<>(); } diff --git a/main.cc b/main.cc index afb18d4f8d..cf3fa6478b 100644 --- a/main.cc +++ b/main.cc @@ -1172,10 +1172,15 @@ int main(int ac, char** av) { mm_notifier.local().unregister_listener(&ss.local()).get(); }); + with_scheduling_group(maintenance_scheduling_group, [&] { + return messaging.invoke_on_all(&netw::messaging_service::start_listen); + }).get(); + with_scheduling_group(maintenance_scheduling_group, [&] { return ss.local().init_server(); }).get(); + gossiper.local().wait_for_gossip_to_settle().get(); sst_format_selector.sync(); with_scheduling_group(maintenance_scheduling_group, [&] { diff --git a/service/storage_service.cc b/service/storage_service.cc index a32d07edfb..af79eb66e0 100644 --- a/service/storage_service.cc +++ b/service/storage_service.cc @@ -398,11 +398,6 @@ void storage_service::prepare_to_join( gossip_sharder().get(); // gossip Schema.emptyVersion forcing immediate check for schema updates (see MigrationManager#maybeScheduleSchemaPull) - - // Wait for gossip to settle so that the fetures will be enabled - if (do_bind) { - _gossiper.wait_for_gossip_to_settle().get(); - } } void storage_service::maybe_start_sys_dist_ks() {