]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: fix MDS health detail output 2471/head
authorJohn Spray <john.spray@redhat.com>
Fri, 5 Sep 2014 11:49:09 +0000 (12:49 +0100)
committerJohn Spray <john.spray@redhat.com>
Fri, 12 Sep 2014 15:43:20 +0000 (16:43 +0100)
I fat fingered a couple of things here.

Signed-off-by: John Spray <john.spray@redhat.com>
src/mon/MDSMonitor.cc

index 870a9e63c654f1e2d26a0576e5e20302c6ae763e..3139c9dd8d30affa6b9ea4c592adf93f896494f7 100644 (file)
@@ -401,6 +401,7 @@ bool MDSMonitor::prepare_beacon(MMDSBeacon *m)
   }
 
   // Store health
+  dout(20) << __func__ << " got health from gid " << gid << " with " << m->get_health().metrics.size() << " metrics." << dendl;
   pending_daemon_health[gid] = m->get_health();
 
   // boot?
@@ -587,22 +588,25 @@ void MDSMonitor::get_health(list<pair<health_status_t, string> >& summary,
       message << "mds" << rank << ": " << j->message;
       summary.push_back(std::make_pair(j->sev, message.str()));
 
-      // There is no way for us to clealy associate detail entries with summary entries (#7192), so
-      // we duplicate the summary message in the detail string and tag the metadata on.
-      std::ostringstream detail_message;
-      detail_message << message.str();
-      if (j->metadata.size()) {
-        detail_message << "(";
-        std::map<std::string, std::string>::iterator k = j->metadata.begin();
-        while (k != j->metadata.end()) {
-          detail_message << k->first << ": " << k->second;
-          if (boost::next(k) != j->metadata.end()) {
-            detail_message << ", ";
+      if (detail) {
+        // There is no way for us to clealy associate detail entries with summary entries (#7192), so
+        // we duplicate the summary message in the detail string and tag the metadata on.
+        std::ostringstream detail_message;
+        detail_message << message.str();
+        if (j->metadata.size()) {
+          detail_message << "(";
+          std::map<std::string, std::string>::iterator k = j->metadata.begin();
+          while (k != j->metadata.end()) {
+            detail_message << k->first << ": " << k->second;
+            if (boost::next(k) != j->metadata.end()) {
+              detail_message << ", ";
+            }
+            ++k;
           }
+          detail_message << ")";
         }
-        detail_message << ")";
+        detail->push_back(std::make_pair(j->sev, detail_message.str()));
       }
-      detail->push_back(std::make_pair(j->sev, detail_message.str()));
     }
   }
 }