From 60373a115116b1befef2cdd42ade1956a743f87c Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Wed, 9 Dec 2009 15:56:53 -0800 Subject: [PATCH] osd: fix mark_down on heartbeat_messenger addrs This fixes residual outgoing connect attempts and subsequent 'wrong node' messages from old outgoing osd_ping messages that never leave our queues. --- src/osd/OSD.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index f79b0de093b12..c6b0302c9aa62 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -983,7 +983,7 @@ void OSD::update_heartbeat_peers() (!osdmap->is_up(p->first) || osdmap->get_hb_inst(p->first) != old_inst[p->first])) { dout(10) << " marking down old _to peer " << old_inst[p->first] << " as of " << p->second << dendl; - messenger->mark_down(old_inst[p->first].addr); + heartbeat_messenger->mark_down(old_inst[p->first].addr); } } @@ -1809,6 +1809,9 @@ void OSD::note_down_osd(int osd) messenger->mark_down(osdmap->get_addr(osd)); heartbeat_lock.Lock(); + + heartbeat_messenger->mark_down(osdmap->get_hb_addr(osd)); + if (heartbeat_inst.count(osd)) { if (heartbeat_inst[osd] == osdmap->get_hb_inst(osd)) { dout(10) << "note_down_osd removing heartbeat_inst " << heartbeat_inst[osd] << dendl; -- 2.39.5