From 32539953e14ed2bf9d91daaa4eb6523f6d592b12 Mon Sep 17 00:00:00 2001 From: Michal Maslanka Date: Mon, 28 Mar 2022 08:06:48 +0200 Subject: [PATCH] redpanda: shutdown quota manager after kafka server is stopped Quota manager refrence is a part of request context. We need to make sure that quota manager is available as long as the kafka server is running. Moved quota manager initialization before waiting for Kafka server shutdown to make sure that its reference is available for all requests that are being processed. --- src/v/redpanda/application.cc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/v/redpanda/application.cc b/src/v/redpanda/application.cc index 23b8d5fae896..26ca155dc2eb 100644 --- a/src/v/redpanda/application.cc +++ b/src/v/redpanda/application.cc @@ -708,6 +708,11 @@ void application::wire_up_redpanda_services() { _rpc.stop().get(); } }); + + // metrics and quota management + syschecks::systemd_message("Adding kafka quota manager").get(); + construct_service(quota_mgr).get(); + _deferred.emplace_back([this] { if (_kafka_server.local_is_initialized()) { _kafka_server.invoke_on_all(&net::server::wait_for_shutdown).get(); @@ -854,9 +859,6 @@ void application::wire_up_redpanda_services() { coprocessing->start().get(); } - // metrics and quota management - syschecks::systemd_message("Adding kafka quota manager").get(); - construct_service(quota_mgr).get(); // rpc ss::sharded rpc_cfg; rpc_cfg.start(ss::sstring("internal_rpc")).get();