Skip to content

Commit

Permalink
persistent_feature_enabler: attach to gossip only if not using raft
Browse files Browse the repository at this point in the history
The enable_features_on_join function is now only called if the node does
not use topology over raft, and so the node will not react to changes in
gossip features.

In the future, support for switching to topology coordinator in runtime
will be added and the persistent feature enabler should disconnect
itself during the upgrade procedure. We don't have such procedure yet,
so a bunch of TODOs is added instead.
  • Loading branch information
piodul committed Aug 1, 2023
1 parent 3c1ca12 commit 7c30954
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion service/storage_service.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2397,7 +2397,10 @@ future<> storage_service::join_token_ring(cdc::generation_service& cdc_gen_servi
});
_listeners.emplace_back(make_lw_shared(std::move(schema_change_announce)));
co_await _gossiper.wait_for_gossip_to_settle();
co_await _feature_service.enable_features_on_join(_gossiper, _sys_ks.local());
// TODO: Look at the group 0 upgrade state and use it to decide whether to attach or not
if (!_raft_topology_change_enabled) {
co_await _feature_service.enable_features_on_join(_gossiper, _sys_ks.local());
}

set_mode(mode::JOINING);

Expand Down

0 comments on commit 7c30954

Please sign in to comment.