mirror of
https://github.com/scylladb/scylladb.git
synced 2026-05-13 03:12:13 +00:00
cql_transport: Use shared updateable_timeout_config by reference
Pass sharded<updateable_timeout_config>& into cql_transport::controller, which feeds the shard-local instance as a reference into cql_server_config::timeout_config. This drops the per-shard local updateable_timeout_config constructed from db::config inside the controller's sharded_parameter lambda, replacing it with a reference into the shared sharded instance. Signed-off-by: Pavel Emelyanov <xemul@scylladb.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
4
main.cc
4
main.cc
@@ -2180,7 +2180,7 @@ To start the scylla server proper, simply invoke as: scylla server (or just scyl
|
||||
auth::make_maintenance_socket_role_manager_factory(qp, group0_client, mm, auth_cache),
|
||||
maintenance_socket_enabled::yes, std::ref(auth_cache)).get();
|
||||
|
||||
cql_maintenance_server_ctl.emplace(maintenance_auth_service, mm_notifier, gossiper, qp, service_memory_limiter, sl_controller, lifecycle_notifier, messaging, *cfg, maintenance_cql_sg_stats_key, maintenance_socket_enabled::yes, dbcfg.statement_scheduling_group);
|
||||
cql_maintenance_server_ctl.emplace(maintenance_auth_service, mm_notifier, gossiper, qp, service_memory_limiter, sl_controller, lifecycle_notifier, messaging, timeout_cfg, *cfg, maintenance_cql_sg_stats_key, maintenance_socket_enabled::yes, dbcfg.statement_scheduling_group);
|
||||
|
||||
start_auth_service(maintenance_auth_service, stop_maintenance_auth_service, "maintenance auth service");
|
||||
}
|
||||
@@ -2612,7 +2612,7 @@ To start the scylla server proper, simply invoke as: scylla server (or just scyl
|
||||
// after drain stops them in stop_transport()
|
||||
// Register controllers after drain_on_shutdown() below, so that even on start
|
||||
// failure drain is called and stops controllers
|
||||
cql_transport::controller cql_server_ctl(auth_service, mm_notifier, gossiper, qp, service_memory_limiter, sl_controller, lifecycle_notifier, messaging, *cfg, cql_sg_stats_key, maintenance_socket_enabled::no, dbcfg.statement_scheduling_group);
|
||||
cql_transport::controller cql_server_ctl(auth_service, mm_notifier, gossiper, qp, service_memory_limiter, sl_controller, lifecycle_notifier, messaging, timeout_cfg, *cfg, cql_sg_stats_key, maintenance_socket_enabled::no, dbcfg.statement_scheduling_group);
|
||||
|
||||
api::set_server_service_levels(ctx, cql_server_ctl, qp).get();
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ static logging::logger logger("cql_server_controller");
|
||||
controller::controller(sharded<auth::service>& auth, sharded<service::migration_notifier>& mn,
|
||||
sharded<gms::gossiper>& gossiper, sharded<cql3::query_processor>& qp, sharded<service::memory_limiter>& ml,
|
||||
sharded<qos::service_level_controller>& sl_controller, sharded<service::endpoint_lifecycle_notifier>& elc_notif,
|
||||
sharded<netw::messaging_service>& ms,
|
||||
sharded<netw::messaging_service>& ms, sharded<updateable_timeout_config>& timeout_config,
|
||||
const db::config& cfg, scheduling_group_key cql_opcode_stats_key, maintenance_socket_enabled used_by_maintenance_socket,
|
||||
seastar::scheduling_group sg)
|
||||
: protocol_server(sg)
|
||||
@@ -45,6 +45,7 @@ controller::controller(sharded<auth::service>& auth, sharded<service::migration_
|
||||
, _mem_limiter(ml)
|
||||
, _sl_controller(sl_controller)
|
||||
, _messaging(ms)
|
||||
, _timeout_config(timeout_config)
|
||||
, _config(cfg)
|
||||
, _cql_opcode_stats_key(cql_opcode_stats_key)
|
||||
, _used_by_maintenance_socket(used_by_maintenance_socket)
|
||||
@@ -255,7 +256,7 @@ future<> controller::do_start_server() {
|
||||
shard_aware_transport_port_ssl = cfg.native_shard_aware_transport_port_ssl();
|
||||
}
|
||||
return cql_server_config {
|
||||
.timeout_config = updateable_timeout_config(cfg),
|
||||
.timeout_config = _timeout_config.local(),
|
||||
.max_request_size = _mem_limiter.local().total_memory(),
|
||||
.partitioner_name = cfg.partitioner(),
|
||||
.sharding_ignore_msb = cfg.murmur3_partitioner_ignore_msb_bits(),
|
||||
|
||||
@@ -30,6 +30,7 @@ namespace qos { class service_level_controller; }
|
||||
namespace netw { class messaging_service; }
|
||||
namespace db { class config; }
|
||||
struct client_data;
|
||||
class updateable_timeout_config;
|
||||
|
||||
namespace cql_transport {
|
||||
|
||||
@@ -50,6 +51,7 @@ class controller : public protocol_server {
|
||||
sharded<service::memory_limiter>& _mem_limiter;
|
||||
sharded<qos::service_level_controller>& _sl_controller;
|
||||
sharded<netw::messaging_service>& _messaging;
|
||||
sharded<updateable_timeout_config>& _timeout_config;
|
||||
const db::config& _config;
|
||||
scheduling_group_key _cql_opcode_stats_key;
|
||||
|
||||
@@ -70,7 +72,7 @@ public:
|
||||
controller(sharded<auth::service>&, sharded<service::migration_notifier>&, sharded<gms::gossiper>&,
|
||||
sharded<cql3::query_processor>&, sharded<service::memory_limiter>&,
|
||||
sharded<qos::service_level_controller>&, sharded<service::endpoint_lifecycle_notifier>&,
|
||||
sharded<netw::messaging_service>&,
|
||||
sharded<netw::messaging_service>&, sharded<updateable_timeout_config>& timeout_config,
|
||||
const db::config& cfg, scheduling_group_key cql_opcode_stats_key, maintenance_socket_enabled used_by_maintenance_socket,
|
||||
seastar::scheduling_group sg);
|
||||
virtual sstring name() const override;
|
||||
|
||||
@@ -117,7 +117,7 @@ struct cql_query_state {
|
||||
};
|
||||
|
||||
struct cql_server_config {
|
||||
updateable_timeout_config timeout_config;
|
||||
updateable_timeout_config& timeout_config;
|
||||
size_t max_request_size;
|
||||
sstring partitioner_name;
|
||||
unsigned sharding_ignore_msb;
|
||||
|
||||
Reference in New Issue
Block a user