From: Nitzan Mordechai Date: Thu, 4 Jun 2026 06:52:18 +0000 (+0000) Subject: mgr/dashboard: cached osd_map pop pg_temp X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=7faa75163d7f339e02a4f696d975759b713325ce;p=ceph.git mgr/dashboard: cached osd_map pop pg_temp get('osd_map') returns the cached object directly, so del and key assignments were silently corrupting the cache for subsequent callers. Take a shallow copy before modifying, and use pop() instead of del in case the cache was already corrupted. Fixes: https://tracker.ceph.com/issues/72447 Signed-off-by: Nitzan Mordechai --- diff --git a/src/pybind/mgr/dashboard/controllers/health.py b/src/pybind/mgr/dashboard/controllers/health.py index b9509511123..d0d4e24e05f 100644 --- a/src/pybind/mgr/dashboard/controllers/health.py +++ b/src/pybind/mgr/dashboard/controllers/health.py @@ -296,10 +296,10 @@ class HealthData(object): return mon_status def osd_map(self): - osd_map = mgr.get('osd_map') + osd_map = dict(mgr.get('osd_map')) assert osd_map is not None # Not needed, skip the effort of transmitting this to UI - del osd_map['pg_temp'] + osd_map.pop('pg_temp', None) if self._minimal: osd_map = partial_dict(osd_map, ['osds']) osd_map['osds'] = [