]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon, mgr: do not output network ping stats 54922/head
authorPonnuvel Palaniyappan <pponnuvel@gmail.com>
Thu, 15 Sep 2022 14:55:06 +0000 (15:55 +0100)
committerPonnuvel Palaniyappan <pponnuvel@gmail.com>
Fri, 16 Feb 2024 11:03:57 +0000 (11:03 +0000)
When doing PG dump using 'ceph pg dump --format json-pretty'
the output is extremely big that the command hangs and also
the ceph-mgr hangs and eventuall fails over.

The exact size depends on the number of OSDs in the cluster
and the number of peers for each OSD.

In tests, it's been identified that the network ping times
is the largest component in terms of size which is removed
from the output now so as to limit the overall size.

Fixes https://tracker.ceph.com/issues/57460

Signed-off-by: Ponnuvel Palaniyappan <pponnuvel@gmail.com>
PendingReleaseNotes
src/mon/PGMap.h

index 2e41462a1eb68d1153548f70739a8367938cfb1e..e28c35efce53bd31caf3ceae7de369f6eb02c4a7 100644 (file)
@@ -135,6 +135,10 @@ CephFS: Disallow delegating preallocated inode ranges to clients. Config
   permissions unless explicitly granted by topic policy.
 * RBD: The option ``--image-id`` has been added to `rbd children` CLI command,
   so it can be run for images in the trash.
+* PG dump: The default output of `ceph pg dump --format json` has changed. The
+  default json format produces a rather massive output in large clusters and
+  isn't scalable. So we have removed the 'network_ping_times' section from
+  the output. Details in the tracker: https://tracker.ceph.com/issues/57460
 
 >=18.0.0
 
index 2a127b802a86d6f28542a1f9f19946f0322b7e45..d1135f2a1a1849227036b0f92cf29b2f96f85571 100644 (file)
@@ -452,12 +452,12 @@ public:
   int64_t get_rule_avail(const OSDMap& osdmap, int ruleno) const;
   void get_rules_avail(const OSDMap& osdmap,
                       std::map<int,int64_t> *avail_map) const;
-  void dump(ceph::Formatter *f, bool with_net = true) const;
+  void dump(ceph::Formatter *f, bool with_net = false) const;
   void dump_basic(ceph::Formatter *f) const;
   void dump_pg_stats(ceph::Formatter *f, bool brief) const;
   void dump_pg_progress(ceph::Formatter *f) const;
   void dump_pool_stats(ceph::Formatter *f) const;
-  void dump_osd_stats(ceph::Formatter *f, bool with_net = true) const;
+  void dump_osd_stats(ceph::Formatter *f, bool with_net = false) const;
   void dump_osd_ping_times(ceph::Formatter *f) const;
   void dump_delta(ceph::Formatter *f) const;
   void dump_filtered_pg_stats(ceph::Formatter *f, std::set<pg_t>& pgs) const;