From: Sage Weil Date: Fri, 6 Nov 2009 21:54:53 +0000 (-0800) Subject: mon: don't delete stats when sending osdmap incremental X-Git-Tag: v0.18~128^2~15 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=ec2890612c40e2e22423d55b4be03ffcbceb5d0c;p=ceph.git mon: don't delete stats when sending osdmap incremental send_latest will delete m, and/or wait. Instead call send_incremental directly only when we know paxos is_readable. --- diff --git a/src/mon/OSDMonitor.h b/src/mon/OSDMonitor.h index ca82a225c9f3..3632035e9702 100644 --- a/src/mon/OSDMonitor.h +++ b/src/mon/OSDMonitor.h @@ -156,6 +156,9 @@ private: void mark_all_down(); void send_latest(PaxosServiceMessage *m, epoch_t start=0); + void send_latest_now_nodelete(PaxosServiceMessage *m, epoch_t start=0) { + send_incremental(m, start); + } void blacklist(entity_addr_t a, utime_t until); diff --git a/src/mon/PGMonitor.cc b/src/mon/PGMonitor.cc index 5cc7d197621e..ec8bc700d097 100644 --- a/src/mon/PGMonitor.cc +++ b/src/mon/PGMonitor.cc @@ -272,7 +272,7 @@ bool PGMonitor::preprocess_pg_stats(MPGStats *stats) if (stats->had_map_for > 30.0 && mon->osdmon()->paxos->is_readable() && stats->epoch < mon->osdmon()->osdmap.get_epoch()) - mon->osdmon()->send_latest(stats, stats->epoch+1); + mon->osdmon()->send_latest_now_nodelete(stats, stats->epoch+1); // any new osd or pg info? if (!pg_map.osd_stat.count(from) ||