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)
))
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():