From 86f278d479e3cfb21507194cdf64ddbbc724a3a6 Mon Sep 17 00:00:00 2001 From: Xuehan Xu Date: Mon, 13 Apr 2020 13:42:11 +0800 Subject: [PATCH] crimson/monc: close pending connections when stopping Signed-off-by: Xuehan Xu --- src/crimson/mon/MonClient.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/crimson/mon/MonClient.cc b/src/crimson/mon/MonClient.cc index 6e52b3ba25e..a6fc5cc0249 100644 --- a/src/crimson/mon/MonClient.cc +++ b/src/crimson/mon/MonClient.cc @@ -922,6 +922,9 @@ seastar::future<> Client::stop() logger().info("{}", __func__); auto fut = gate.close(); timer.cancel(); + for (auto& pending_con : pending_conns) { + pending_con->close(); + } if (active_con) { active_con->close(); } @@ -1000,7 +1003,10 @@ seastar::future<> Client::reopen_session(int rank) return seastar::make_exception_future(ep); }); }).then([this] { - ceph_assert_always(active_con); + if (!active_con) { + return seastar::make_exception_future( + crimson::common::system_shutdown_exception()); + } return active_con->renew_rotating_keyring(); }); } -- 2.39.5