[Varnish] #1823: vcl in discarded mode does not clear up
Varnish
varnish-bugs at varnish-cache.org
Thu Nov 26 18:28:15 CET 2015
#1823: vcl in discarded mode does not clear up
-----------------------------+--------------------
Reporter: hamed.gholamian | Type: defect
Status: new | Priority: normal
Milestone: Varnish 4.1-TP1 | Component: build
Version: 4.1.0 | Severity: normal
Keywords: |
-----------------------------+--------------------
Hi,
We have a problem with Varnish holding onto VCL in a discarded state,
which has persisting referenced objects.
We timestamp our VCL as a reference to the date/time it was loaded. This
is done using a simple script using varnishadm commands. We should only
retain 3 'available' configs.
The problem being experienced is with the 'discarded' VCL, specifically
the backend polling, which being duplicated. This is causing some
customers to see high volumes of probes from our delivery servers, which
is in turn affecting their backend systems.
Example output from varnishadm -
{{{
discarded auto/cooling 52 vcl_20151125095333
discarded auto/cooling 11 vcl_20151125122048
discarded auto/cooling 136 vcl_20151125122328
discarded auto/cooling 24 vcl_20151125140126
discarded auto/cooling 1 vcl_20151125143340
discarded auto/cooling 1 vcl_20151125144531
discarded auto/cooling 12 vcl_20151125145312
discarded auto/cooling 9 vcl_20151125154306
discarded auto/cooling 2 vcl_20151125162540
available auto/cold 0 vcl_20151126140831
available auto/cold 0 vcl_20151126141010
available auto/cold 0 vcl_20151126141620
active auto/warm 22 vcl_20151126142113
}}}
The referenced objects never reduce, leaving the 'discarded' VCL on the
delivery server.
We have been able to reproduce this in our development environment doing
the following -
1. On the varnish delivery server, create a backend (with no probe) and
then a remote backend with simple website.
2. Sending requests (like 1000) to varnish delivery server.
3. On the backend add a new iptables rule to drop port 80.
4. Reload the VCL a number of times.
{{{
OS: 12.04 3.2.0-70-generic #105-Ubuntu SMP x86_64 x86_64 x86_64 GNU/Linux
Varnish: varnishd (varnish-4.1.0 revision 3041728)
}}}
Other than restarting varnish, we have not found a mechanism to clear
these and allow the auto/cooling process to complete, removing the VCL.
Is this a possible bug or is this expected behavior of the v4.1 VMOD, when
backends become sick/unreachable?
--
Ticket URL: <https://www.varnish-cache.org/trac/ticket/1823>
Varnish <https://varnish-cache.org/>
The Varnish HTTP Accelerator
More information about the varnish-bugs
mailing list