The recursion cascade
One upstream nameserver slows down or goes unreachable. Every recursive query bound for it holds a recursive-clients slot for the full timeout (default 10s, up to three retries), slots fill, and BIND starts returning SERVFAIL for all recursive queries — even those bound for perfectly healthy upstreams. The resolver becomes collateral damage from a single upstream failure, and CPU can stay moderate because the worker threads are blocked waiting, not computing.
- no more recursive clients: quota reached in the logs
- RecursClients at or near the recursive-clients limit
- Broad SERVFAIL across many unrelated domains, not one zone
- rndc recursing shows most fetches waiting on the same upstream






