- kill mon->osd
- notify random osd when a map commits?
- how to tell osds to scrub?
- - send map on MPGStats, sometimes?
- simplify msgr failure model
mon<->mon lossless, p2p
if (from <= osdmap.get_epoch()) {
while (!p->second.empty()) {
send_incremental(p->second.front(), from);
+ delete p->second.front();
p->second.pop_front();
}
} else {
} else {
while (!p->second.empty()) {
send_full(p->second.front());
+ delete p->second.front();
p->second.pop_front();
}
}
send_full(m);
else
send_incremental(m, start);
+ delete m;
} else {
dout(5) << "send_latest to " << m->get_orig_source_inst()
<< " start " << start << " later" << dendl;
{
dout(5) << "send_full to " << m->get_orig_source_inst() << dendl;
mon->send_reply(m, new MOSDMap(mon->monmap->fsid, &osdmap));
- delete m;
}
MOSDMap *OSDMonitor::build_incremental(epoch_t from)
<< " to " << req->get_orig_source_inst() << dendl;
MOSDMap *m = build_incremental(from);
mon->send_reply(req, m);
- delete req;
}
{
int from = stats->get_orig_source().num();
- /*
// first, just see if they need a new osdmap. but
// only if they've had the map for a while.
if (stats->had_map_for > 30.0 &&
+ mon->osdmon()->paxos->is_readable() &&
stats->epoch < mon->osdmon()->osdmap.get_epoch())
- mon->osdmon()->send_latest(stats->get_orig_source_inst(), stats->epoch+1);
- */
+ mon->osdmon()->send_latest(stats, stats->epoch+1);
// any new osd or pg info?
if (pg_map.osd_stat.count(from) ||