From 718e46c9842276fc7e91652dbd2309affe312256 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. (cherry picked from commit 32539953e14ed2bf9d91daaa4eb6523f6d592b12) --- 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 62e0eb1d212d..732de3ed439c 100644 --- a/src/v/redpanda/application.cc +++ b/src/v/redpanda/application.cc @@ -692,6 +692,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(&rpc::server::wait_for_shutdown).get(); @@ -800,9 +805,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();