ldout(cct,10) << " can't identify which mon we were connected to" << dendl;
_reopen_session();
} else {
- int new_rank = monmap.get_rank(m->get_source_addr());
- if (new_rank < 0) {
- ldout(cct, 10) << "mon." << new_rank << " at " << m->get_source_addrs()
+ auto new_name = monmap.get_name(con_addrs);
+ if (new_name.empty()) {
+ ldout(cct, 10) << "mon." << old_name << " at " << con_addrs
<< " went away" << dendl;
// can't find the mon we were talking to (above)
_reopen_session();
} else if (messenger->should_use_msgr2() &&
- monmap.get_addrs(new_rank).has_msgr2() &&
+ monmap.get_addrs(new_name).has_msgr2() &&
!con_addrs.has_msgr2()) {
- ldout(cct,1) << " mon." << new_rank << " has (v2) addrs "
- << monmap.get_addrs(new_rank) << " but i'm connected to "
+ ldout(cct,1) << " mon." << new_name << " has (v2) addrs "
+ << monmap.get_addrs(new_name) << " but i'm connected to "
<< con_addrs << ", reconnecting" << dendl;
_reopen_session();
}