varnish && zope/plone: varnish does not find cachefu purges: returns 404 instead.
David Murphy
David at firechaser.com
Tue Mar 16 09:04:13 CET 2010
Hi Rob
Not sure if this is the same issue (I'm new to Varnish) but http://varnish-cache.org/wiki/FAQ/Compression helped me sort out an issue I had where one browser was caching the page, but a different browser was not grabbing the cached data due to Vary: Accept-Encoding header issue.
Best, David
________________________________________
From: varnish-misc-bounces at varnish-cache.org [varnish-misc-bounces at varnish-cache.org] On Behalf Of Rob Rogers [robertbrogers at gmail.com]
Sent: 16 March 2010 03:28
To: varnish-misc at varnish-cache.org
Subject: varnish && zope/plone: varnish does not find cachefu purges: returns 404 instead.
The Issue: cachefu fails to purge cache on object changes.
This means user sees stale, incorrect content.
Product Versions: Plone-2.5.3, plone2.5.3, CacheFu-1.0.2, varnish-2.0.6
To reproduce:
* In browser1: login and go to any page
* In browser 2: view same page.
* In browser 1: edit page (add some dots to title). save
* In browser 2: refresh page
THE BUG: browser 2 shows old version of page
Another way to reproduce this is to use portal_squid tool to purge article. Same problem occurs.
./bin/varnishlog shows the error:
"""
16 RxURL c http://dude.com.moneyXXX/archive/2010/february/the-thirteen-races-to-watch<http://american.aei.org/archive/2010/february/the-thirteen-races-to-watch>
16 RxProtocol c HTTP/1.0
16 VCL_call c recv
16 VCL_acl c MATCH purge localhost
16 VCL_return c lookup
16 VCL_call c hash
16 VCL_return c hash
16 VCL_call c miss
0 Debug - "VCL_error(404, Not in cache)"
"""
The odd thing is that normal requests from the browser produce a RxURL like:
>> 13 RxURL c /archive/2010/february/the-thirteen-races-to-watch
I find this odd, because the requests from the browser to varnish don't include the http host. I wonder if this version of cachefu doesn't work with varnish.
A couple notes:
* I tried messing with the varnish.vcl to normalize the http.host
/* if (req.http.host ~ "(www.)?xxx.org") { */
/* set req.http.host = "xxx.org"; */
/* } else { */
/* error 404 req.http.host; /\* "Unknown virtual host." *\/ */
/* } */
but, it failed to produce desired results
* i started messing with it because of this post:
http://davidjb.com/blog/2009/01/plone-varnish-configuration-cache-hits-purge-fails
and this:
http://varnish-cache.org/wiki/VCLExampleNormalizingReq<http://varnish-cache.org/wiki/VCLExampleNormalizingReqUrl>
Thanks for any help or guidance.
-Rob
More information about the varnish-misc
mailing list