https://bugzilla.wikimedia.org/show_bug.cgi?id=44570

--- Comment #41 from Roan Kattouw <[email protected]> ---
I had a chat about this with Greg, Aaron, Peter and Asher.

We realized that we have pages in our cache that were generated more than 30
days ago, most likely due to a phenomenon I'm calling 304 extension. MediaWiki
serves pages with a cache expiry of 30 days but with must-revalidate. This
means that every time someone requests the page from Squid, Squid will issue an
If-Modified-Since request to MediaWiki, and MediaWiki will respond with a 304
if the page hasn't been edited. This 304 also comes with a 30-day cache expiry,
so the cache expiry timer now rewinds back to zero and starts counting to 30
days again. This way, a page that is never edited will never be recached, as
long as it is requested at least once every 30 days. So our assumptions that
the Squid cache turns over every 30 days is faulty, and there are pages that
have been in the cache for longer than that.
http://en.wikipedia.org/wiki/Wikipedia:No_climbing_the_Reichstag_dressed_as_Spider-Man
is an example: visit it as an anon and you'll see <meta name="generator"
content="MediaWiki 1.21wmf8"> and Last-Modified: Mon, 04 Feb 2013 18:34:48 GMT
.

The suggested workaround for this issue is to modify MediaWiki such that it
only sends a 304 when the If-Modified-Since timestamp is after the page_touched
timestamp AND the If-Modified-Since timestamp is not more than 30 days ago.
That way, Squid will do a full revalidation every 30 days, and we never have
pages older than 30 days in the Squid cache.

-- 
You are receiving this mail because:
You are watching all bug changes.
_______________________________________________
Wikibugs-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to