return(restart); and ESI

Hugues Alary hugues at
Wed Mar 13 22:40:03 CET 2013


I'm unclear about the behavior that Varnish will have if there's a
return(restart); happening when Varnish is processing an ESI include.

If I do a return(restart); in vcl_fetch(), when req.esi_level > 0 (meaning
that the current request is an <esi:include src="" /> being processed by
Varnish), will Varnish restart the *parent *request, or will it restart
only the <esi:include /> ?

My gut tells me that Varnish will only restart the esi processing, can
someone confirm that?

In the case the previous statement is true, is there any way I could
instruct Varnish to restart the *parent*?
I feel like restarting the parent request should be possible considering
that when Varnish processes an <esi:include />, the req.esi_level > 0,
meaning that Varnish is aware that this request has a parent. Although it
certainly is way more complicated than that.

Thanks for your help!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the varnish-misc mailing list