From: Sage Weil Date: Mon, 17 Jun 2019 18:43:06 +0000 (-0500) Subject: osd: do not rebind heartbeat messengers on wrongly marked down X-Git-Tag: v15.1.0~2136^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=98b18842a4104366c73ce9b0b8440300794718fb;p=ceph.git osd: do not rebind heartbeat messengers on wrongly marked down If we are wrongly marked down and need to rejoin, it is important that we bind to a new cluster address so that our peer to peer sessions are fully distinct. However, it we can still use the same heartbeat ports. If we get a ping from someone with an old map, it is better to still be there and tell them that there is a newer map than for them to get crickets. Signed-off-by: Sage Weil --- diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index 1f5f8d488086..f28c80e43fb1 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -8071,8 +8071,6 @@ void OSD::_committed_osd_maps(epoch_t first, epoch_t last, MOSDMap *m) client_messenger->get_myaddrs().get_ports(&avoid_ports); #endif cluster_messenger->get_myaddrs().get_ports(&avoid_ports); - hb_back_server_messenger->get_myaddrs().get_ports(&avoid_ports); - hb_front_server_messenger->get_myaddrs().get_ports(&avoid_ports); int r = cluster_messenger->rebind(avoid_ports); if (r != 0) { @@ -8082,22 +8080,8 @@ void OSD::_committed_osd_maps(epoch_t first, epoch_t last, MOSDMap *m) << " rebind cluster_messenger failed" << dendl; } - r = hb_back_server_messenger->rebind(avoid_ports); - if (r != 0) { - do_shutdown = true; // FIXME: do_restart? - network_error = true; - dout(0) << __func__ << " marked down:" - << " rebind hb_back_server_messenger failed" << dendl; - } - - r = hb_front_server_messenger->rebind(avoid_ports); - if (r != 0) { - do_shutdown = true; // FIXME: do_restart? - network_error = true; - dout(0) << __func__ << " marked down:" - << " rebind hb_front_server_messenger failed" << dendl; - } - + hb_back_server_messenger->mark_down_all(); + hb_front_server_messenger->mark_down_all(); hb_front_client_messenger->mark_down_all(); hb_back_client_messenger->mark_down_all();