gossiper: maybe enable features after start_gossiping()

Since we may now start with features already registered, we need to enable
features immediately after gossip is started. This case happens in a cluster
that already is fully upgraded on startup. Before this series, features were
only added after this point.
This commit is contained in:
Avi Kivity
2018-12-03 01:19:33 +02:00
parent 4e553b692e
commit 587fd9b6c0

View File

@@ -1601,6 +1601,10 @@ future<> gossiper::start_gossiping(int generation_nbr, std::map<application_stat
return replicate(get_broadcast_address(), local_state).then([] {
//notify snitches that Gossiper is about to start
return locator::i_endpoint_snitch::get_local_snitch_ptr()->gossiper_starting();
}).then([this] {
return async([this] {
maybe_enable_features();
});
}).then([this, generation] {
logger.trace("gossip started with generation {}", generation);
_enabled = true;