On 1/13/08, Gregory Maxwell gmaxwell@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.)