From: Remi Gacogne Date: Wed, 8 Sep 2021 14:01:50 +0000 (+0200) Subject: dnsdist: Document the change in the number of TCP workers in 1.6.0 X-Git-Tag: dnsdist-1.7.0-alpha1~18^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c3f0a8c9f36987480fd12aa9248ceb2c40bb32d2;p=thirdparty%2Fpdns.git dnsdist: Document the change in the number of TCP workers in 1.6.0 --- diff --git a/pdns/dnsdistdist/docs/upgrade_guide.rst b/pdns/dnsdistdist/docs/upgrade_guide.rst index 2dc77021d0..09aafe690f 100644 --- a/pdns/dnsdistdist/docs/upgrade_guide.rst +++ b/pdns/dnsdistdist/docs/upgrade_guide.rst @@ -13,6 +13,10 @@ Truncated responses received over UDP for DoH clients will now be retried over T The packet cache no longer hashes EDNS Cookies by default, which means that two queries that are identical except for the content of their cookie will now be served the same answer. This only works if the backend is not returning any answer containing EDNS Cookies, otherwise the wrong cookie might be returned to a client. To prevent this, the ``cookieHashing=true`` parameter might be passed to :func:`newPacketCache` so that cookies are hashed, resulting in separate entries in the packet cache. +All TCP worker threads are now created at startup, instead of being created on-demand. The existing behaviour was useful for very small setups but did not scale quickly to a large amount of TCP connections. +The new behaviour can cause a noticeable increase of TCP connections between dnsdist and its backends, as the TCP connections are not shared between TCP worker threads. +This is especially true for setups with a large number of frontends (:func:`addLocal`, :func:`addTLSLocal`, and :func:`addDNSCryptBind` directives), as 1.6.0 sets the number of TCP workers to the number of TCP-enabled binds (with a minimum of 10), unless that number has been set explicitely via :func:`setMaxTCPClientThreads`. + Several actions have been renamed so that almost all actions that allow further processing of rules start with 'Set', to prevent mistakes: - ``DisableECSAction`` to :func:`SetDisableECSAction` - ``DisableValidationAction`` to :func:`SetDisableValidationAction`