Otherwise, they may still expect them, and may mark us down.
(!osdmap->is_up(p->first) ||
osdmap->get_hb_inst(p->first) != old_inst[p->first])) {
dout(10) << "update_heartbeat_peers: marking down old _to peer " << old_inst[p->first]
- << " as of " << p->second << dendl;
- heartbeat_messenger->mark_down(old_inst[p->first].addr);
+ << " as of " << p->second << dendl;
+ // share latest map with this peer, so they know not to expect
+ // heartbeats from us. otherwise they may mark us down!
+ _share_map_outgoing(heartbeat_inst[p->first]);
}
}
for (map<int,epoch_t>::iterator p = old_from.begin();