Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Browse files

Fixes an issue in backend probe initialization that causes the default

value of .initial to equal .threshold.

The default for .initial is now .threshold - 1, meaning that the backend
starts up as sick and a single successful poll is required for it to be
considered healthy.

With the previous behaviour, a sick backend would not be considered sick
until after the initial polls exit the polling window.

Thanks to Colin Curtin.

Fixes: #1227
  • Loading branch information...
1 parent ab17fec commit b7572affa9e7cc4c2d77c90c51e8bf2418ac9613 @daghf daghf committed
2  bin/varnishd/cache/cache_backend_poll.c
@@ -461,7 +461,7 @@ vbp_new_vcl(const struct vrt_backend_probe *p, const char *hosthdr)
if (vcl->probe.exp_status == 0)
vcl->probe.exp_status = 200;
- if (vcl->probe.threshold == ~0U)
+ if (vcl->probe.initial == ~0U)
vcl->probe.initial = vcl->probe.threshold - 1;
if (vcl->probe.initial > vcl->probe.threshold)
6 doc/sphinx/reference/vcl.rst
@@ -201,8 +201,10 @@ Probes take the following parameters:
the backend healthy.
Defaults to 3.
- How many of the probes are considered good when Varnish starts.
- Defaults to the same amount as the threshold.
+ How many of the polls in .window are considered good when Varnish
+ starts. Defaults to the value of threshold - 1. In this case, the
+ backend starts as sick and requires one single poll to be considered
+ healthy.
The expected backend HTTP response code.
Defaults to 200.

0 comments on commit b7572af

Please sign in to comment.
Something went wrong with that request. Please try again.