[Varnish] #1823: vcl in discarded mode does not clear up

Varnish varnish-bugs at varnish-cache.org
Fri Nov 27 16:37:09 CET 2015


#1823: vcl in discarded mode does not clear up
-----------------------------+--------------------
 Reporter:  hamed.gholamian  |       Owner:
     Type:  defect           |      Status:  new
 Priority:  normal           |   Milestone:
Component:  varnishd         |     Version:  4.1.0
 Severity:  normal           |  Resolution:
 Keywords:                   |
-----------------------------+--------------------
Description changed by fgsch:

Old description:

> 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.
> 3. On the backend add a new iptables rule to drop port 80.
> 2. Sending requests (like 1000) to varnish delivery server.
> 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?

New description:

 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.
 3. On the backend add a new iptables rule to drop port 80.
 2. Sending requests (like 1000) to varnish delivery server.
 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.

--

-- 
Ticket URL: <https://www.varnish-cache.org/trac/ticket/1823#comment:3>
Varnish <https://varnish-cache.org/>
The Varnish HTTP Accelerator



More information about the varnish-bugs mailing list