]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
dnsdist: Document the change in the number of TCP workers in 1.6.0
authorRemi Gacogne <remi.gacogne@powerdns.com>
Wed, 8 Sep 2021 14:01:50 +0000 (16:01 +0200)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Tue, 14 Sep 2021 07:23:55 +0000 (09:23 +0200)
pdns/dnsdistdist/docs/upgrade_guide.rst

index 2dc77021d0e17c9401747b35ed50bf3577948b6c..09aafe690fc74e0f040d671f70736986212444e3 100644 (file)
@@ -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`