Roadblock for Varnish 4 vmod_saintmode

Dag Haavi Finstad daghf at varnish-software.com
Fri May 23 12:34:22 CEST 2014


On Fri, May 23, 2014 at 10:44 AM, Poul-Henning Kamp <phk at phk.freebsd.dk> wrote:
> In message <6671.1400830334 at critter.freebsd.dk>, "Poul-Henning Kamp" writes:
>>In message <CAEh05Vb--iG-HP+uW0pfZeFw0F6f+0QXWmXYd-wQ3G6G4ZdU6A at mail.gmail.com>, Dag Haavi Finstad wri
>>tes:
>>
>>>In 3.0 this was solved by vdi_healthy getting a struct sess passed
>>>in,
>>
>>>I would like to discuss the possibility of adding a vrt_ctx parameter
>>>(or simply the digest) to the vdi_healthy function in Varnish
>>>4.0. Other suggestions would also be welcome. :)
>>
>>This runs into a very big question:
>>
>>Are backends (and should they be ?) visible on the request side at all ?
>
>
> Sorry, that was probably too terse...
>
>
> The question is probably better expressed this way ?
>
> Do the saint::health need access to req.* ?  or bereq.* ?
>
> What will it do ?  Make grace decisions on the client side or fetch
> decisions on the backend side ?

The way I envisioned it is purely on the fetch side. So 'saintmode' in
this case will be a tool that helps us avoid picking a backend for
certain URLs. Unlike 3.0, it's not meant to be used for deciding
whether or not to serve a graced object, and I think that's fine since
4.0 does "stale-while-revalidate" and serves grace candidates by
default anyway.

It would of course be nice to be able to avoid kicking off a fetch
thread if we had that information at hand, but I don't see how we
could do that without severely breaking the rules of client/fetch side
separation.

-- 
Dag Haavi Finstad
Software Developer | Varnish Software AS
Mobile: +47 476 64 134
We Make Websites Fly!



More information about the varnish-dev mailing list