From bc69bc3de755ac73eb748c376ccfe0209691f2f0 Mon Sep 17 00:00:00 2001 From: Benny Halevy Date: Sun, 16 Mar 2025 18:08:58 +0200 Subject: [PATCH] generic_server: use named gate Signed-off-by: Benny Halevy --- generic_server.cc | 2 ++ generic_server.hh | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/generic_server.cc b/generic_server.cc index b53a76d7ef..c017c0ef59 100644 --- a/generic_server.cc +++ b/generic_server.cc @@ -115,6 +115,7 @@ connection::connection(server& server, connected_socket&& fd, named_semaphore& s , _fd{std::move(fd)} , _read_buf(data_source(std::make_unique(_fd.input().detach(), _conns_cpu_concurrency))) , _write_buf(output_stream(data_sink(std::make_unique(_fd.output().detach(), _conns_cpu_concurrency)), 8192, output_stream_options{.batch_flushes = true})) + , _pending_requests_gate("generic_server::connection") , _hold_server(_server._gate) { ++_server._total_connections; @@ -251,6 +252,7 @@ config::config(uint32_t uninitialized_connections_semaphore_cpu_concurrency) server::server(const sstring& server_name, logging::logger& logger, config cfg) : _server_name{server_name} , _logger{logger} + , _gate("generic_server::server") , _conns_cpu_concurrency(cfg.uninitialized_connections_semaphore_cpu_concurrency) , _prev_conns_cpu_concurrency(_conns_cpu_concurrency) , _conns_cpu_concurrency_semaphore(_conns_cpu_concurrency, named_semaphore_exception_factory{"connections cpu concurrency semaphore"}) diff --git a/generic_server.hh b/generic_server.hh index de8e593f07..7aa4c989f9 100644 --- a/generic_server.hh +++ b/generic_server.hh @@ -57,7 +57,7 @@ protected: input_stream _read_buf; output_stream _write_buf; future<> _ready_to_respond = make_ready_future<>(); - seastar::gate _pending_requests_gate; + seastar::named_gate _pending_requests_gate; seastar::gate::holder _hold_server; private: @@ -107,7 +107,7 @@ class server { protected: sstring _server_name; logging::logger& _logger; - seastar::gate _gate; + seastar::named_gate _gate; future<> _all_connections_stopped = make_ready_future<>(); uint64_t _total_connections = 0; uint64_t _shed_connections = 0;