On Fri, Jun 26, 2009 at 6:33 AM, Thomas Dalton<thomas.dalton(a)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.