From 922944d471371f3fc1481cc4fc9ba6a03a5190da Mon Sep 17 00:00:00 2001 From: Manuel Lausch Date: Wed, 8 Jul 2020 11:42:37 +0200 Subject: [PATCH] mgr/progress: Skip pg_summary update if _events dict is empty. The get call of pg_stats and pg_ready are expensive and are not necessary in this case. This avoids blocking other modules like the prometheus module Fixes: https://tracker.ceph.com/issues/46416 Signed-off-by: Manuel Lausch (cherry picked from commit 1031edd89d09d18812a3f11b7cbb2ce6759bad13) --- src/pybind/mgr/progress/module.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/pybind/mgr/progress/module.py b/src/pybind/mgr/progress/module.py index fa66e40890e..85ed2f0269f 100644 --- a/src/pybind/mgr/progress/module.py +++ b/src/pybind/mgr/progress/module.py @@ -454,6 +454,10 @@ class Module(MgrModule): )) self._osdmap_changed(old_osdmap, self._latest_osdmap) elif notify_type == "pg_summary": + # if there are no events we will skip this here to avoid + # expensive get calls + if len(self._events) == 0: + return data = self.get("pg_stats") ready = self.get("pg_ready") for ev_id, ev in self._events.items(): -- 2.47.3