On 1/13/08, Gregory Maxwell <gmaxwell(a)gmail.com> wrote:
He shouldn't have to refresh. The page should
have been purged from
the wikimedia caches by mediawiki when it was changed.
Whatever caused the edit triggered purge to get missed needs to be
fixed. I have no doubt that there are a few code pathways where some
needed purges may be missed, but it seems that users have adapted by
adding a fair amount of paranoid pointless refreshing and purging.
Better to make the problems more expose so they can be found and
fixed.
Does it take such a negligible amount of time for Squid cache purges
to occur? How long is it from the time the purge code is run on the
application servers until the Squids in all clusters have discarded
the old cache?
I don't think there are any article update code paths where
Title::purgeSquid isn't called. It's called at a very low level,
Article::doEdit, which should be the only thing used to modify
articles. Glancing over the code, though, I notice that the Squids
purge by literal URL. The URLs purged are from
$title->getInternalURL() and $title->getInternalURL( 'action=history'
), and variants for languages with variants.
Could there be some URL forms that are being missed? For instance,
are long URLs purged? (Are they cached at all? It seems like it,
from the HTTP headers.)