Fetch called after pass

Poul-Henning Kamp phk at phk.freebsd.dk
Wed Jul 4 20:08:46 CEST 2007

In message <CE9C9DDB-B243-4572-BD4B-0EF419D358B2 at segula.pt>, =?ISO-8859-1?Q?And
r=E9_Cruz?= writes:

> From what I can see, if vcl_recv() returns "pass" the request can  
>still be cached by logic in vcl_fetch(), right?

No, this is one of the things that figure does not show: the object
created by vcl_pass() is not in the hash table at all, so no matter
what vcl_fetch() does, it will not be cached.

>Because that's what I think is happening in my case. The default  
>vcl_fetch() handler is inserting the request in cache even though it  
>got a "pass" earlier... Do we have to manual check the obj.pass flag  
>in the handler?

That would be a bug.

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-misc mailing list