From: Tim Starling Date: Tue, 26 Apr 2016 06:28:38 +0000 (+1000) Subject: In ParserCache, respect $useOutdated X-Git-Tag: 1.31.0-rc.0~7134^2 X-Git-Url: http://git.cyclocoop.org/%22.htmlspecialchars%28%24url_syndic%29.%22?a=commitdiff_plain;h=a8f60c1343f660c7e75690e634955ce031893ffd;p=lhc%2Fweb%2Fwiklou.git In ParserCache, respect $useOutdated $useOutdated was broken by Ifcc4d2f67f3b77, which forces the cached entry to always have the same revision ID as the latest revision. This probably caused the "pool queue is full" errors reported after Prince's death was announced. Bug: T133659 Change-Id: Ibd111bed203dd72103d772d8dcba4f0d943124fd --- diff --git a/includes/parser/ParserCache.php b/includes/parser/ParserCache.php index 916cfc26a1..8d626db7a5 100644 --- a/includes/parser/ParserCache.php +++ b/includes/parser/ParserCache.php @@ -149,7 +149,7 @@ class ParserCache { wfDebug( "Parser options key expired, touched " . $article->getTouched() . ", epoch $wgCacheEpoch, cached $cacheTime\n" ); return false; - } elseif ( $optionsKey->isDifferentRevision( $article->getLatest() ) ) { + } elseif ( !$useOutdated && $optionsKey->isDifferentRevision( $article->getLatest() ) ) { wfIncrStats( "pcache.miss.revid" ); $revId = $article->getLatest(); $cachedRevId = $optionsKey->getCacheRevisionId(); @@ -225,7 +225,7 @@ class ParserCache { wfDebug( "ParserOutput key expired, touched $touched, " . "epoch $wgCacheEpoch, cached $cacheTime\n" ); $value = false; - } elseif ( $value->isDifferentRevision( $article->getLatest() ) ) { + } elseif ( !$useOutdated && $value->isDifferentRevision( $article->getLatest() ) ) { wfIncrStats( "pcache.miss.revid" ); $revId = $article->getLatest(); $cachedRevId = $value->getCacheRevisionId();