]> git.ipfire.org Git - thirdparty/bind9.git/commit
If refresh stale RRset times out, start stale-refresh-time
authorMatthijs Mekking <matthijs@isc.org>
Fri, 30 Sep 2022 09:16:22 +0000 (11:16 +0200)
committerMatthijs Mekking <matthijs@isc.org>
Wed, 5 Oct 2022 06:20:48 +0000 (08:20 +0200)
commit0681b152259dfd9f37579043ab5c99ec9760ee2f
tree4f6349d6f8ca84914024a48d8f7a3378ea6751c5
parent64d51285d54ed027b8f0fe74844715d3f1e638b5
If refresh stale RRset times out, start stale-refresh-time

The previous commit failed some tests because we expect that if a
fetch fails and we have stale candidates in cache, the
stale-refresh-time window is started. This means that if we hit a stale
entry in cache and answering stale data is allowed, we don't bother
resolving it again for as long we are within the stale-refresh-time
window.

This is useful for two reasons:
- If we failed to fetch the RRset that we are looking for, we are not
  hammering the authoritative servers.

- Successor clients don't need to wait for stale-answer-client-timeout
  to get their DNS response, only the first one to query will take
  the latency penalty.

The latter is not useful when stale-answer-client-timeout is 0 though.

So this exception code only to make sure we don't try to refresh the
RRset again if it failed to do so recently.
bin/tests/system/serve-stale/tests.sh
lib/ns/query.c