]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
dnsdist: Only log failed backend connection attempt at info on first try
authorRemi Gacogne <remi.gacogne@powerdns.com>
Wed, 3 May 2023 14:36:29 +0000 (16:36 +0200)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Fri, 12 May 2023 14:36:12 +0000 (16:36 +0200)
pdns/dnsdist.hh
pdns/dnsdistdist/dnsdist-backend.cc

index a26adeba9e753897f04f228f43f71016de8a2c1b..e55205599fb2e2139aa75b25d7606f7c0faed719 100644 (file)
@@ -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);
index 8ffa1fba61c2aaa6b72808f31be2b7a6a6c82f5a..cc49a7d42f0ef6e384c53002f28f6aeabc0510e8 100644 (file)
@@ -37,7 +37,7 @@ bool DownstreamState::passCrossProtocolQuery(std::unique_ptr<CrossProtocolQuery>
   }
 }
 
-bool DownstreamState::reconnect()
+bool DownstreamState::reconnect(bool initialAttempt)
 {
   std::unique_lock<std::mutex> 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()