diff --git a/service/raft/raft_group_registry.cc b/service/raft/raft_group_registry.cc index 0f351e01e0..7b4f80dd4b 100644 --- a/service/raft/raft_group_registry.cc +++ b/service/raft/raft_group_registry.cc @@ -445,6 +445,10 @@ future direct_fd_pinger::ping(direct_failure_detector::pinger::endpoint_id auto dst_id = raft::server_id{std::move(id)}; auto addr = _address_map.find(dst_id); if (!addr) { + auto [it, _] = _rate_limits.try_emplace(id, std::chrono::minutes(5)); + auto& rate_limit = it->second; + + rslog.log(log_level::warn, rate_limit, "Raft server id {} cannot be translated to an IP address.", id); co_return false; } diff --git a/service/raft/raft_group_registry.hh b/service/raft/raft_group_registry.hh index e5fa06b8f8..ad0af8643c 100644 --- a/service/raft/raft_group_registry.hh +++ b/service/raft/raft_group_registry.hh @@ -149,6 +149,9 @@ class direct_fd_pinger : public seastar::peering_sharded_service; + rate_limits _rate_limits; + public: direct_fd_pinger(netw::messaging_service& ms, raft_address_map& address_map) : _ms(ms), _address_map(address_map) {}