From 1bc419a7affb056540ba8f9b332b6ff9380b37af Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Fri, 25 Jan 2013 09:27:00 -0800 Subject: [PATCH] osd: pass new maps to dead osds via existing Connection Previously we were sending these maps to dead osds via their old addrs using a new outgoing connection and setting the flags so that the msgr would clean up. That mechanism is possibly buggy and fragile, and we can avoid it entirely if we just reuse the existing heartbeat Connection. Signed-off-by: Sage Weil --- src/osd/OSD.cc | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index 5df64c45a6e4c..0e7de0d980107 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -4683,13 +4683,7 @@ bool OSD::require_same_or_newer_map(OpRequestRef op, epoch_t epoch) if (!osdmap->have_inst(from) || osdmap->get_cluster_addr(from) != m->get_source_inst().addr) { dout(0) << "from dead osd." << from << ", dropping, sharing map" << dendl; - send_incremental_map(epoch, m->get_source_inst(), true); - - // close after we send the map; don't reconnect - Connection *con = m->get_connection(); - cluster_messenger->mark_down_on_empty(con); - cluster_messenger->mark_disposable(con); - + send_incremental_map(epoch, m->get_connection()); return false; } } -- 2.39.5