The health data was there, but we were attempting
to enumerate MDS GIDs from pending_mdsmap (empty on
peons) instead of mdsmap (populated from paxos updates)
Fixes: #10151
Backport: giant
Signed-off-by: John Spray <john.spray@redhat.com>
(cherry picked from commit
0c33930e3a90f3873b7c7b18ff70dec2894fce29)
Conflicts:
src/mon/MDSMonitor.cc
mdsmap.get_health(summary, detail);
// For each MDS GID...
- for (std::map<uint64_t, MDSMap::mds_info_t>::const_iterator i = pending_mdsmap.mds_info.begin();
- i != pending_mdsmap.mds_info.end(); ++i) {
+ for (std::map<uint64_t, MDSMap::mds_info_t>::const_iterator i = mdsmap.mds_info.begin();
+ i != mdsmap.mds_info.end(); ++i) {
// Decode MDSHealth
bufferlist bl;
mon->store->get(MDS_HEALTH_PREFIX, stringify(i->first), bl);