[meta] slow operations present in the hot path
This is list of operations which should not be in the hot path, i.e. these should not block DNS query-answer processing:
- journal & XFR processing - #3556, #3658, !5115 (closed)
- statistics channel - #4680 (closed)
- RPZ update - #3746 (closed)
- catalog zone update - #3881 (closed)
- UPDATE authorization via external policy - #3669
- #4480
An interesting paragraph can be found on Samba wiki:
When a BIND thread calls one of the BIND9_DLZ plugin API calls, execution can be blocked on database access calls if locks are out on the database at the time. Unfortunately, during that time, BIND will not be able to serve any queries, even external (non-samba) queries. Bind has a "-n" option that can increase the number of worker threads but testing has shown that increasing this number does not fix the problem, indicating that BIND's threading and queueing models are probably a bit broken. In small-scale environments this problem is unlikely to come up, but, in high-traffic environments, it may cause DNS outage. The only solution right now is to use an external DNS server that only forwards queries to BIND9_DLZ-backed samba DNS installations when the query is addressed to a zone managed by that node.
As a special category, anything which uses "exclusive mode" also affects query processing.