It's not clear in the ARM what options resolver-nonbackoff-tries and resolver-retry-interval actually do
They've been added to the descriptions (but not the grammar) in BIND 9.11 ARM, then they're added to the grammar in newer versions of BIND.
I understand that they're now knobs that allow you to changed the default settings for these values (that have been around in BIND9 for a long time).
But the definition of them in the ARM is just the names of them expanded into words - there's no explanation of how they're used by resolvers in context. For example, I know that named will deal with multiple nameservers for a domain and will have to decide which one to query first (shortest SRTT), how long to wait for that one to respond, how soon to retry if it doesn't, and when to start querying the next server in the list...
An explanation of how this all works would be very helpful - in the ARM or in the KB. And then alongside that:
- why did we make it possible now to tweak these values?
- what could be the costs/benefits to changing the defaults?
- why specifically were these knobs added as part of the work done to introduce Serve Stale?
If it would be generally not useful and potentially detrimental to BIND performance to change the values, then perhaps we should have left these options as undocumented (or unavailable unless named was built with specific non-default options).
Question arose from Support Ticket RT16171