Poul-Henning Kamp phk at phk.freebsd.dk
Thu Feb 24 11:10:02 CET 2011

In message <4D662DA4.3030108 at uplex.de>, Geoff Simmons writes:

>On 2/24/11 9:59 AM, Poul-Henning Kamp wrote:
>> In message <4D6578CE.7070708 at uplex.de>, Geoff Simmons writes:
>>> @phk: If we also implicitly set obj.conditional_timeout = 0 when obj.ttl
>>> is set to 0, wouldn't existing VCL continue to do what people expect? 
>> Yes, I thought I had communicated that already:  when ttl is set to <= zero,
>> grace and conditional_timeout SHALL also be set to zero.
>You did indeed. So then my question is, is there a disadvantage to
>allowing an object to be used for the IMS request if ttl and grace have
>both elapsed, but conditional_timeout has not yet?

yes, we don't know why it was expired.

Imagine a PHP error causing an object to be mis-rendered.

This is discovered, the bug fixed, the object purged.

Now, if you use the cached object for IMS, the backend is unlikely
to know about the implications of the changed PHP file, and will just
look at the timestamp and say "Sure, you can use that..."

Expiry in Varnish is final, unless the user tells us otherwise.

Similarly, we will not use a ban'ed object for grace or ims.

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