From: Dhairya Parmar Date: Thu, 5 Oct 2023 12:11:38 +0000 (+0530) Subject: mds: report clients laggy due laggy OSDs only after checking any OSD is laggy X-Git-Tag: v19.0.0~257^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=8a5677f956d1b18ebae22c27b690b83e82db13cc;p=ceph.git mds: report clients laggy due laggy OSDs only after checking any OSD is laggy Fixes: https://tracker.ceph.com/issues/63105 Signed-off-by: Dhairya Parmar --- diff --git a/src/mds/Beacon.cc b/src/mds/Beacon.cc index 861cfa4378f1..4990f0b249f9 100644 --- a/src/mds/Beacon.cc +++ b/src/mds/Beacon.cc @@ -500,13 +500,17 @@ void Beacon::notify_health(MDSRank const *mds) // Report laggy client(s) due to laggy OSDs { + bool defer_client_eviction = + g_conf().get_val("defer_client_eviction_on_laggy_osds") + && mds->objecter->with_osdmap([](const OSDMap &map) { + return map.any_osd_laggy(); }); auto&& laggy_clients = mds->server->get_laggy_clients(); - if (!laggy_clients.empty()) { + if (defer_client_eviction && !laggy_clients.empty()) { std::vector laggy_clients_metrics; for (const auto& laggy_client: laggy_clients) { CachedStackStringStream css; *css << "Client " << laggy_client << " is laggy; not evicted" - << " because some OSD(s) is/are laggy"; + << " because some OSD(s) is/are laggy"; MDSHealthMetric m(MDS_HEALTH_CLIENTS_LAGGY, HEALTH_WARN, css->strv()); laggy_clients_metrics.emplace_back(std::move(m)); }