From: Kunal Mehta Date: Sat, 9 Sep 2017 00:19:17 +0000 (-0700) Subject: Avoid using the deprecated ParserCache::singleton() X-Git-Tag: 1.31.0-rc.0~2165^2 X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=commitdiff_plain;h=1fd095ec1c313924d40a598cec41a9cc203b7bb2 Avoid using the deprecated ParserCache::singleton() Change-Id: I0da6d9cbfad26c89bf5dab564071ef97acaf44f9 --- diff --git a/includes/api/ApiPurge.php b/includes/api/ApiPurge.php index 83227a2fc2..35f93e076a 100644 --- a/includes/api/ApiPurge.php +++ b/includes/api/ApiPurge.php @@ -25,6 +25,7 @@ * @file */ use MediaWiki\Logger\LoggerFactory; +use MediaWiki\MediaWikiServices; /** * API interface for page purging @@ -98,7 +99,7 @@ class ApiPurge extends ApiBase { $r['linkupdate'] = true; if ( $enableParserCache ) { - $pcache = ParserCache::singleton(); + $pcache = MediaWikiServices::getInstance()->getParserCache(); $pcache->save( $p_result, $page, $popts ); } } diff --git a/includes/jobqueue/jobs/RefreshLinksJob.php b/includes/jobqueue/jobs/RefreshLinksJob.php index 9f3550f269..424fcecb2d 100644 --- a/includes/jobqueue/jobs/RefreshLinksJob.php +++ b/includes/jobqueue/jobs/RefreshLinksJob.php @@ -207,7 +207,7 @@ class RefreshLinksJob extends Job { if ( $page->getTouched() >= $this->params['rootJobTimestamp'] || $opportunistic ) { // Cache is suspected to be up-to-date. As long as the cache rev ID matches // and it reflects the job's triggering change, then it is usable. - $parserOutput = ParserCache::singleton()->getDirty( $page, $parserOptions ); + $parserOutput = $services->getParserCache()->getDirty( $page, $parserOptions ); if ( !$parserOutput || $parserOutput->getCacheRevisionId() != $revision->getId() || $parserOutput->getCacheTime() < $skewedTimestamp @@ -234,7 +234,7 @@ class RefreshLinksJob extends Job { && $parserOutput->isCacheable() ) { $ctime = wfTimestamp( TS_MW, (int)$start ); // cache time - ParserCache::singleton()->save( + $services->getParserCache()->save( $parserOutput, $page, $parserOptions, $ctime, $revision->getId() ); } diff --git a/includes/page/Article.php b/includes/page/Article.php index f52cd8d6e9..5b03a22a2f 100644 --- a/includes/page/Article.php +++ b/includes/page/Article.php @@ -466,7 +466,7 @@ class Article implements Page { # Allow frames by default $outputPage->allowClickjacking(); - $parserCache = ParserCache::singleton(); + $parserCache = MediaWikiServices::getInstance()->getParserCache(); $parserOptions = $this->getParserOptions(); # Render printable version, use printable version cache diff --git a/includes/page/WikiPage.php b/includes/page/WikiPage.php index bf8a59710d..312edbd25e 100644 --- a/includes/page/WikiPage.php +++ b/includes/page/WikiPage.php @@ -1070,7 +1070,8 @@ class WikiPage implements Page, IDBAccessObject { } if ( $useParserCache ) { - $parserOutput = ParserCache::singleton()->get( $this, $parserOptions ); + $parserOutput = MediaWikiServices::getInstance()->getParserCache() + ->get( $this, $parserOptions ); if ( $parserOutput !== false ) { return $parserOutput; } @@ -2162,7 +2163,7 @@ class WikiPage implements Page, IDBAccessObject { // Save it to the parser cache. // Make sure the cache time matches page_touched to avoid double parsing. - ParserCache::singleton()->save( + MediaWikiServices::getInstance()->getParserCache()->save( $editInfo->output, $this, $editInfo->popts, $revision->getTimestamp(), $editInfo->revid ); diff --git a/includes/poolcounter/PoolWorkArticleView.php b/includes/poolcounter/PoolWorkArticleView.php index 1f1add7924..17b62d77f8 100644 --- a/includes/poolcounter/PoolWorkArticleView.php +++ b/includes/poolcounter/PoolWorkArticleView.php @@ -17,6 +17,7 @@ * * @file */ +use MediaWiki\MediaWikiServices; class PoolWorkArticleView extends PoolCounterWork { /** @var WikiPage */ @@ -28,6 +29,9 @@ class PoolWorkArticleView extends PoolCounterWork { /** @var int */ private $revid; + /** @var ParserCache */ + private $parserCache; + /** @var ParserOptions */ private $parserOptions; @@ -66,7 +70,8 @@ class PoolWorkArticleView extends PoolCounterWork { $this->cacheable = $useParserCache; $this->parserOptions = $parserOptions; $this->content = $content; - $this->cacheKey = ParserCache::singleton()->getKey( $page, $parserOptions ); + $this->parserCache = MediaWikiServices::getInstance()->getParserCache(); + $this->cacheKey = $this->parserCache->getKey( $page, $parserOptions ); $keyPrefix = $this->cacheKey ?: wfMemcKey( 'articleview', 'missingcachekey' ); parent::__construct( 'ArticleView', $keyPrefix . ':revid:' . $revid ); } @@ -153,7 +158,7 @@ class PoolWorkArticleView extends PoolCounterWork { } if ( $this->cacheable && $this->parserOutput->isCacheable() && $isCurrent ) { - ParserCache::singleton()->save( + $this->parserCache->save( $this->parserOutput, $this->page, $this->parserOptions, $cacheTime, $this->revid ); } @@ -175,7 +180,7 @@ class PoolWorkArticleView extends PoolCounterWork { * @return bool */ public function getCachedWork() { - $this->parserOutput = ParserCache::singleton()->get( $this->page, $this->parserOptions ); + $this->parserOutput = $this->parserCache->get( $this->page, $this->parserOptions ); if ( $this->parserOutput === false ) { wfDebug( __METHOD__ . ": parser cache miss\n" ); @@ -190,7 +195,7 @@ class PoolWorkArticleView extends PoolCounterWork { * @return bool */ public function fallback() { - $this->parserOutput = ParserCache::singleton()->getDirty( $this->page, $this->parserOptions ); + $this->parserOutput = $this->parserCache->getDirty( $this->page, $this->parserOptions ); if ( $this->parserOutput === false ) { wfDebugLog( 'dirty', 'dirty missing' ); diff --git a/maintenance/compareParserCache.php b/maintenance/compareParserCache.php index 8bd060f324..504c7d7ace 100644 --- a/maintenance/compareParserCache.php +++ b/maintenance/compareParserCache.php @@ -21,6 +21,8 @@ require_once __DIR__ . '/Maintenance.php'; +use MediaWiki\MediaWikiServices; + /** * @ingroup Maintenance */ @@ -41,6 +43,7 @@ class CompareParserCache extends Maintenance { $scanned = 0; $withcache = 0; $withdiff = 0; + $parserCache = MediaWikiServices::getInstance()->getParserCache(); while ( $pages-- > 0 ) { $row = $dbr->selectRow( 'page', '*', [ @@ -66,7 +69,7 @@ class CompareParserCache extends Maintenance { $parserOptions = $page->makeParserOptions( 'canonical' ); - $parserOutputOld = ParserCache::singleton()->get( $page, $parserOptions ); + $parserOutputOld = $parserCache->get( $page, $parserOptions ); if ( $parserOutputOld ) { $t1 = microtime( true );