From d6c931dc78833193ee863d30842488734d00c5ba Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Sat, 24 Jul 2021 21:08:20 +0800 Subject: [PATCH] crimson/osd: cancel timer when stopping so that reactor does not complain when being stopped, like: ERROR 2021-07-24 20:50:23,711 [shard 0] seastar - Timer callback failed: seastar::gate_closed_exception (gate closed) Signed-off-by: Kefu Chai --- src/crimson/osd/osd.cc | 2 ++ src/crimson/osd/pg.cc | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/crimson/osd/osd.cc b/src/crimson/osd/osd.cc index d8927475b6d..c38dc0aa7e9 100644 --- a/src/crimson/osd/osd.cc +++ b/src/crimson/osd/osd.cc @@ -476,6 +476,8 @@ seastar::future<> OSD::start_asok_admin() seastar::future<> OSD::stop() { logger().info("stop"); + beacon_timer.cancel(); + tick_timer.cancel(); // see also OSD::shutdown() return prepare_to_stop().then([this] { state.set_stopping(); diff --git a/src/crimson/osd/pg.cc b/src/crimson/osd/pg.cc index 32d7a0c8d63..a5e3251a3d5 100644 --- a/src/crimson/osd/pg.cc +++ b/src/crimson/osd/pg.cc @@ -1148,6 +1148,8 @@ seastar::future<> PG::stop() { logger().info("PG {} {}", pgid, __func__); stopping = true; + check_readable_timer.cancel(); + renew_lease_timer.cancel(); return osdmap_gate.stop().then([this] { return wait_for_active_blocker.stop(); }).then([this] { -- 2.39.5