]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
feat(dnsdist): Log downstream removal 17003/head
authorPieter Lexis <pieter.lexis@powerdns.com>
Wed, 18 Mar 2026 13:53:31 +0000 (14:53 +0100)
committerPieter Lexis <pieter.lexis@powerdns.com>
Thu, 19 Mar 2026 08:28:05 +0000 (09:28 +0100)
Closes: #17001
pdns/dnsdistdist/dnsdist-lua.cc

index c3084a19abfe39e91f423a7ceb98a5b06508f03e..fd90ee55a4422868db7e5ffa8e136a156778c6fb 100644 (file)
@@ -714,7 +714,7 @@ static void setupLuaConfig(LuaContext& luaCtx, bool client, bool configCheck)
                        });
 
   luaCtx.writeFunction("rmServer",
-                       [](boost::variant<std::shared_ptr<DownstreamState>, int, std::string> var) {
+                       [client, configCheck](boost::variant<std::shared_ptr<DownstreamState>, int, std::string> var) {
                          setLuaSideEffect();
                          shared_ptr<DownstreamState> server = nullptr;
                          if (auto* rem = boost::get<shared_ptr<DownstreamState>>(&var)) {
@@ -751,6 +751,11 @@ static void setupLuaConfig(LuaContext& luaCtx, bool client, bool configCheck)
                            config.d_backends.erase(std::remove(config.d_backends.begin(), config.d_backends.end(), server), config.d_backends.end());
                          });
 
+                         if (!(client || configCheck)) {
+                           SLOG(infolog("Removed downstream server %s", server->d_config.remote.toStringWithPort()),
+                                getLogger("rmServer")->info(Logr::Info, "Removed downstream server", "backend.address", Logging::Loggable(server->d_config.remote)));
+                         }
+
                          server->stop();
                        });