Varnish 3.1 becoming 4.0 instead (?)

Poul-Henning Kamp phk at
Fri Dec 16 22:07:49 CET 2011

In message <CABaBnj7OS8i3NoM8AunKQO026g2338pqVJym5UvhhG4u56fmbA at>
, Kacper Wysocki writes:

>But the reply to the client may fail or hit an exception at any point,
>both from the source side of the data (backend timeout) and the sink
>side (client timeout), and being able to do something in VCL on these
>conditions is gold.

What would you do ?  The half-baked reponse being half-sent to the
client cannot be recovered or salvaged in any way ?

> As far as I can understand the problem it's that the introduction of
>streaming makes it real hard to do a callback?

It's more that there is nothing the call-back can do, the damage is
done and there's nothing sensible we can do, but a cleanup.

>There are some use cases for vcl_error are not being considered here.

They are considered, but I may not have explained it well enough:
Instead of vcl_error{}, you will use vcl_deliver{}, and in vcl_deliver{}
you can build synthetic responses.

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.

More information about the varnish-dev mailing list