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.
This commit is contained in:
Sage Weil 2009-11-06 13:54:53 -08:00
parent 12482dba16
commit ec2890612c
2 changed files with 4 additions and 1 deletions

View File

@ -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);

View File

@ -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) ||