From: Remi Gacogne Date: Fri, 5 Apr 2024 09:29:23 +0000 (+0200) Subject: Revert "dnsdist: Release failed TCP backend connections more quickly" X-Git-Tag: dnsdist-1.9.3^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F14040%2Fhead;p=thirdparty%2Fpdns.git Revert "dnsdist: Release failed TCP backend connections more quickly" This reverts commit 7b5f590ee72fecf54c0c40b24e98ba03a406af53. (cherry picked from commit b3d13db2b0ddf5c5bea4c080330ac1e72475c918) --- diff --git a/pdns/dnsdistdist/dnsdist-tcp-downstream.cc b/pdns/dnsdistdist/dnsdist-tcp-downstream.cc index 75e061b331..904913e3ee 100644 --- a/pdns/dnsdistdist/dnsdist-tcp-downstream.cc +++ b/pdns/dnsdistdist/dnsdist-tcp-downstream.cc @@ -146,13 +146,6 @@ void TCPConnectionToBackend::release(){ if (d_ioState) { d_ioState.reset(); } - - auto shared = std::dynamic_pointer_cast(shared_from_this()); - if (!willBeReusable(true)) { - /* remove ourselves from the connection cache, this might mean that our - reference count drops to zero after that, so we need to be careful */ - t_downstreamTCPConnectionsManager.removeDownstreamConnection(shared); - } } static uint32_t getSerialFromRawSOAContent(const std::vector& raw) diff --git a/pdns/dnsdistdist/test-dnsdisttcp_cc.cc b/pdns/dnsdistdist/test-dnsdisttcp_cc.cc index 3428950f4b..22a27c692c 100644 --- a/pdns/dnsdistdist/test-dnsdisttcp_cc.cc +++ b/pdns/dnsdistdist/test-dnsdisttcp_cc.cc @@ -3624,8 +3624,8 @@ BOOST_FIXTURE_TEST_CASE(test_IncomingConnectionOOOR_BackendOOOR, TestFixture) g_tcpRecvTimeout = 2; /* we need to clear them now, otherwise we end up with dangling pointers to the steps via the TLS context, etc */ - /* we have no connection to clear, because there was a timeout! */ - BOOST_CHECK_EQUAL(IncomingTCPConnectionState::clearAllDownstreamConnections(), 0U); + /* we have one connection to clear, no proxy protocol */ + BOOST_CHECK_EQUAL(IncomingTCPConnectionState::clearAllDownstreamConnections(), 1U); } {