]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/progress: Skip pg_summary update if _events dict is empty. 36076/head
authorManuel Lausch <manuel.lausch@1und1.de>
Wed, 8 Jul 2020 09:42:37 +0000 (11:42 +0200)
committerNathan Cutler <ncutler@suse.com>
Mon, 13 Jul 2020 20:13:30 +0000 (22:13 +0200)
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 <manuel.lausch@1und1.de>
(cherry picked from commit 1031edd89d09d18812a3f11b7cbb2ce6759bad13)

src/pybind/mgr/progress/module.py

index ccc73bf261188a574336136da091521d78c954fc..470e4b0a61193351ff86d7fde4a3c06b73f81aa4 100644 (file)
@@ -533,6 +533,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 in list(self._events):