Mailing List Archive

Delivering expired documents when backend is down
Hi!

One of the design goals of Varnish was to be able to deliver content
when your backend is down, as far as I can remember. Now, I may be
stupid, but in mgt_vcc.c, there is this default VCL which is confusing:

sub vcl_timeout{
discard;
}

Is the object really discarded? What sort of trouble would I be
getting into if I remove discard from vcl_timeout?

Basically, I want to know, how do I deliver expired content if backend
is down. There's no toggle to switch on and off such a behaviour?

Is the answer to use a sufficiently high ttl?

Bye,

--
Anders.
Delivering expired documents when backend is down [ In reply to ]
In message <20070424083146.GA67181 at fupp.net>, Anders Nordby writes:
>Hi!
>
>One of the design goals of Varnish was to be able to deliver content
>when your backend is down, as far as I can remember. Now, I may be
>stupid, but in mgt_vcc.c, there is this default VCL which is confusing:
>
>sub vcl_timeout{
> discard;
>}
>
>Is the object really discarded? What sort of trouble would I be
>getting into if I remove discard from vcl_timeout?

Right now: quite a lot :-)

vcl_timeout is the background job that is run when the object
is 30 seconds from expiring.

the 30 seconds will become configurable and vcl_timeout will
be where gzip compression is initiated and where prefetching
can be started.

>Basically, I want to know, how do I deliver expired content if backend
>is down. There's no toggle to switch on and off such a behaviour?
>
>Is the answer to use a sufficiently high ttl?

That's certainly part of it.

Right now we don't have a good concept of "backend is down" in Varnish
so implementing a ttl overriding check is pretty hard as it is.

There's a reason why we look for sponsors :-)

--
Poul-Henning Kamp | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG | TCP/IP since RFC 956
FreeBSD committer | BSD since 4.3-tahoe
Never attribute to malice what can adequately be explained by incompetence.