aboutsummaryrefslogtreecommitdiff
path: root/plugin
diff options
context:
space:
mode:
authorGravatar Miek Gieben <miek@miek.nl> 2020-06-24 16:49:06 +0200
committerGravatar GitHub <noreply@github.com> 2020-06-24 07:49:06 -0700
commit55e9c2cd7b32bc9b67896fb9a4e85a8e6fd2f409 (patch)
tree630b3eb43be2b2117a422dd758da67204224ed84 /plugin
parent86475927866f4b736039faa4ed6f5455405472ca (diff)
downloadcoredns-55e9c2cd7b32bc9b67896fb9a4e85a8e6fd2f409.tar.gz
coredns-55e9c2cd7b32bc9b67896fb9a4e85a8e6fd2f409.tar.zst
coredns-55e9c2cd7b32bc9b67896fb9a4e85a8e6fd2f409.zip
plugin/forward: remove exp backoff stuff (#3970)
we hc every 0.5s, doing exp backoff will create a large gap in the ability to re-use an upstream. Doing a exp. backoff up to (say) 3s, isn't really exp backoff either. Remove the wording from the documentation. Signed-off-by: Miek Gieben <miek@miek.nl>
Diffstat (limited to 'plugin')
-rw-r--r--plugin/forward/README.md14
1 files changed, 6 insertions, 8 deletions
diff --git a/plugin/forward/README.md b/plugin/forward/README.md
index 54810fbac..60d9b470c 100644
--- a/plugin/forward/README.md
+++ b/plugin/forward/README.md
@@ -9,14 +9,12 @@
The *forward* plugin re-uses already opened sockets to the upstreams. It supports UDP, TCP and
DNS-over-TLS and uses in band health checking.
-When it detects an error a health check is performed. This checks runs in a loop, starting with
-a *0.5s* interval and exponentially backing off with randomized intervals up to *15s* for as long
-as the upstream reports unhealthy. The exponential backoff will reset to *0.5s* after 2 minutes.
-Once healthy we stop health checking (until the next error). The health checks use a recursive
-DNS query (`. IN NS`) to get upstream health. Any response that is not a network error (REFUSED,
-NOTIMPL, SERVFAIL, etc) is taken as a healthy upstream. The health check uses the same protocol as
-specified in **TO**. If `max_fails` is set to 0, no checking is performed and upstreams will always
-be considered healthy.
+When it detects an error a health check is performed. This checks runs in a loop, performing each
+check at a *0.5s* interval for as long as the upstream reports unhealthy. Once healthy we stop
+health checking (until the next error). The health checks use a recursive DNS query (`. IN NS`)
+to get upstream health. Any response that is not a network error (REFUSED, NOTIMPL, SERVFAIL, etc)
+is taken as a healthy upstream. The health check uses the same protocol as specified in **TO**. If
+`max_fails` is set to 0, no checking is performed and upstreams will always be considered healthy.
When *all* upstreams are down it assumes health checking as a mechanism has failed and will try to
connect to a random upstream (which may or may not work).