On Fri, Jun 26, 2009 at 6:33 AM, Thomas Daltonthomas.dalton@gmail.com wrote:
Of course, the fact that everyone's first port of call after hearing such news is to check the Wikipedia page is a fantastic thing, so it would be really unfortunate if we have to stop people doing that.
He didn't say we'd shut down views for the article, just we'd shut down reparsing or cache invalidation or something. This is the live hack that was applied yesterday:
Index: includes/parser/ParserCache.php =================================================================== --- includes/parser/ParserCache.php (revision 52359) +++ includes/parser/ParserCache.php (working copy) -63,6 +63,7 @@ if ( is_object( $value ) ) { wfDebug( "Found.\n" ); # Delete if article has changed since the cache was made + if( $article->mTitle->getPrefixedText() != 'Michael Jackson' ) { // temp hack! $canCache = $article->checkTouched(); $cacheTime = $value->getCacheTime(); $touched = $article->mTouched; -82,6 +83,7 @@ } wfIncrStats( "pcache_hit" ); } + }// temp hack! } else { wfDebug( "Parser cache miss.\n" ); wfIncrStats( "pcache_miss_absent" );
It just meant that people were seeing outdated versions of the article.
Would it be possible, perhaps, to direct all requests for a certain page through one server so the rest can continue to serve the rest of the site unaffected?
Every page view involves a number of servers, and they're not all interchangeable, so this doesn't make a lot of sense.
Or perhaps excessively popular pages could be rendered (for anons) as part of the editing process, rather than the viewing process, since that would mean each version of the article is rendered only once (for anons) and would just slow down editing slightly (presumably by a fraction of a second), which we can live with.
You think that parsing a large page takes a fraction of a second? Try twenty or thirty seconds.
But this sounds like a good idea. If a process is already parsing the page, why don't we just have other processes display an old cached version of the page instead of waiting or trying to reparse themselves? The worst that would happen is some users would get old views for a couple of minutes.