From: Remi Gacogne Date: Wed, 3 May 2023 14:36:29 +0000 (+0200) Subject: dnsdist: Only log failed backend connection attempt at info on first try X-Git-Tag: rec-4.9.0-beta1~7^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3de50c36895bc12a8555066f376e70320166c73e;p=thirdparty%2Fpdns.git dnsdist: Only log failed backend connection attempt at info on first try --- diff --git a/pdns/dnsdist.hh b/pdns/dnsdist.hh index a26adeba9e..e55205599f 100644 --- a/pdns/dnsdist.hh +++ b/pdns/dnsdist.hh @@ -976,7 +976,7 @@ public: return status; } - bool reconnect(); + bool reconnect(bool initialAttempt = false); void waitUntilConnected(); void hash(); void setId(const boost::uuids::uuid& newId); diff --git a/pdns/dnsdistdist/dnsdist-backend.cc b/pdns/dnsdistdist/dnsdist-backend.cc index 8ffa1fba61..cc49a7d42f 100644 --- a/pdns/dnsdistdist/dnsdist-backend.cc +++ b/pdns/dnsdistdist/dnsdist-backend.cc @@ -37,7 +37,7 @@ bool DownstreamState::passCrossProtocolQuery(std::unique_ptr } } -bool DownstreamState::reconnect() +bool DownstreamState::reconnect(bool initialAttempt) { std::unique_lock tl(connectLock, std::try_to_lock); if (!tl.owns_lock() || isStopped()) { @@ -89,7 +89,9 @@ bool DownstreamState::reconnect() connected = true; } catch (const std::runtime_error& error) { - infolog("Error connecting to new server with address %s: %s", d_config.remote.toStringWithPort(), error.what()); + if (initialAttempt || g_verbose) { + infolog("Error connecting to new server with address %s: %s", d_config.remote.toStringWithPort(), error.what()); + } connected = false; break; } @@ -287,7 +289,7 @@ void DownstreamState::connectUDPSockets() fd = -1; } - reconnect(); + reconnect(true); } DownstreamState::~DownstreamState()