From 0c914ee214172a095cfee5cc9ffae4e49d493ee6 Mon Sep 17 00:00:00 2001 From: Kamoltat Sirivadhna Date: Fri, 18 Jul 2025 04:58:26 +0000 Subject: [PATCH] src/mon/Elector.cc: Improve logging for the elector Fixes: https://tracker.ceph.com/issues/71344 Signed-off-by: Kamoltat Sirivadhna --- src/mon/Elector.cc | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/mon/Elector.cc b/src/mon/Elector.cc index f40cf887def87..097106d3e24a9 100644 --- a/src/mon/Elector.cc +++ b/src/mon/Elector.cc @@ -455,7 +455,10 @@ void Elector::begin_peer_ping(int peer) { dout(20) << __func__ << " with " << peer << dendl; if (live_pinging.count(peer)) { - dout(20) << peer << " already in live_pinging ... return " << dendl; + // This peer is already being pinged + // so we don't need to schedule another ping_check + // against it, ping_check will call itself because it is self-sustaining. + dout(20) << peer << " is already being pinged ... return " << dendl; return; } // Check if quorum feature is not set and we are in @@ -483,7 +486,8 @@ void Elector::begin_peer_ping(int peer) << " no need to schedule ping_check" << dendl; return; } - dout(30) << "schedule ping_check against peer: " << peer << dendl; + dout(30) << "schedule ping_check against peer: " + << peer << " every " << ping_timeout / PING_DIVISOR << "s" << dendl; mon->timer.add_event_after(ping_timeout / PING_DIVISOR, new C_MonContext{mon, [this, peer](int) { ping_check(peer); @@ -512,7 +516,7 @@ bool Elector::send_peer_ping(int peer, const utime_t *n) MMonPing *ping = new MMonPing(MMonPing::PING, now, peer_tracker.get_encoded_bl()); mon->messenger->send_to_mon(ping, mon->monmap->get_addrs(peer)); peer_sent_ping[peer] = now; - dout(20) << " sent ping successfully to peer: " << peer << dendl; + dout(20) << " sent ping to peer: " << peer << " at " << now << dendl; return true; } @@ -560,7 +564,9 @@ void Elector::ping_check(int peer) } } - dout(30) << "schedule " << __func__ << " against peer: "<< peer << dendl; + dout(30) << "Scheduling next ping_check for peer " + << peer << " in " << ping_timeout / PING_DIVISOR + << "s (recursively call ping_check until connection state changes)" << dendl; mon->timer.add_event_after(ping_timeout / PING_DIVISOR, new C_MonContext{mon, [this, peer](int) { ping_check(peer); -- 2.39.5