cql test env: Keep gossiper reference on board

The reference is already available at the env initialization, but it's
not kept on the env instance itself. Will be used by the next patch.

Signed-off-by: Pavel Emelyanov <xemul@scylladb.com>
This commit is contained in:
Pavel Emelyanov
2022-04-15 14:43:45 +03:00
parent 4bea0b7491
commit b0544ba7bd
2 changed files with 11 additions and 2 deletions

View File

@@ -130,6 +130,7 @@ private:
sharded<qos::service_level_controller>& _sl_controller;
sharded<service::migration_manager>& _mm;
sharded<db::batchlog_manager>& _batchlog_manager;
sharded<gms::gossiper>& _gossiper;
private:
struct core_local_state {
service::client_state client_state;
@@ -178,7 +179,8 @@ public:
sharded<service::migration_notifier>& mnotifier,
sharded<service::migration_manager>& mm,
sharded<qos::service_level_controller> &sl_controller,
sharded<db::batchlog_manager>& batchlog_manager)
sharded<db::batchlog_manager>& batchlog_manager,
sharded<gms::gossiper>& gossiper)
: _db(db)
, _qp(qp)
, _auth_service(auth_service)
@@ -188,6 +190,7 @@ public:
, _sl_controller(sl_controller)
, _mm(mm)
, _batchlog_manager(batchlog_manager)
, _gossiper(gossiper)
{
adjust_rlimit();
}
@@ -399,6 +402,10 @@ public:
return _batchlog_manager;
}
virtual sharded<gms::gossiper>& gossiper() override {
return _gossiper;
}
virtual future<> refresh_client_state() override {
return _core_local.invoke_on_all([] (core_local_state& state) {
return state.client_state.maybe_update_per_service_level_params();
@@ -809,7 +816,7 @@ public:
// The default user may already exist if this `cql_test_env` is starting with previously populated data.
}
single_node_cql_env env(db, qp, auth_service, view_builder, view_update_generator, mm_notif, mm, std::ref(sl_controller), bm);
single_node_cql_env env(db, qp, auth_service, view_builder, view_update_generator, mm_notif, mm, std::ref(sl_controller), bm, gossiper);
env.start().get();
auto stop_env = defer([&env] { env.stop().get(); });

View File

@@ -159,6 +159,8 @@ public:
virtual sharded<db::batchlog_manager>& batchlog_manager() = 0;
virtual sharded<gms::gossiper>& gossiper() = 0;
virtual future<> refresh_client_state() = 0;
data_dictionary::database data_dictionary();