Re: [squid-users] Vary and Purge

From: Henrik Nordstrom <henrik_at_henriknordstrom.net>
Date: Tue, 18 Aug 2009 21:09:41 +0200

tis 2009-08-18 klockan 20:01 +0200 skrev Youenn Boussard:

> I try to purge request via HTTP with purge method. Squid cache
> request with a vary tag.

PURGE of Vary objects is still very poorly supported, and you can only
purge one variant at a time and need to get the URL cached again before
being able to purge another variant.

When Squid sees that the URL uses Vary it splits the cache storage in
two objects. A "vary marker" internal object cached on the URL,
containing information about how the object uses Vary, and then the
responses on different keys based on URL + request headers and/or ETag.

When you purge a Vary object Squid deletes any matching reply + the
internal Vary marker object. But once the Vary marker object has been
deleted Squid no longer knows it has other variants cached for the URL.
Those objects stay in the cache but without Squid knowing how the URL
uses Vary it has no way of finding the objects..

But if a later response causes the Vary marker to get created again then
those other previously cached variants can be found again, as Squid then
knows what headers to match for finding the previous responses.

> My version of squid is squid-2.7.STABLE6 (4 February 2009) for windows.
> So is there an correction of this behaviour for an actual version of
> squid (for windows) ?

Not yet, and to my best knowledge it's not an item being actively worked
on by anyone at the moment.

The basic approach taken by the backed out patch is fine, but the
implementation had some serious shortcomings causing a lot of false
cache misses on vary objects..

Regards
Henrik
Received on Tue Aug 18 2009 - 19:10:10 MDT

This archive was generated by hypermail 2.2.0 : Wed Aug 19 2009 - 12:00:04 MDT