Daniel Kinzler has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/191629

Change subject: Purge parser cache upon links update
......................................................................

Purge parser cache upon links update

Without this change, changes to sitelinks are invisible on client wikies
due to stale parser cache entries.

Change-Id: I438e9185afb28753ac922d2f81cfe6bece9d2660
---
M client/includes/Changes/ChangeHandler.php
M client/tests/phpunit/includes/Changes/ChangeHandlerTest.php
2 files changed, 9 insertions(+), 5 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase 
refs/changes/29/191629/1

diff --git a/client/includes/Changes/ChangeHandler.php 
b/client/includes/Changes/ChangeHandler.php
index 54ab31b..5eac54b 100644
--- a/client/includes/Changes/ChangeHandler.php
+++ b/client/includes/Changes/ChangeHandler.php
@@ -207,6 +207,10 @@
 
                if ( isset( $aspects[EntityUsage::SITELINK_USAGE] ) || $all ) {
                        $actions[self::LINKS_UPDATE_ACTION] = true;
+
+                       // TODO: introduce an update action that updates just 
the metadata
+                       // in the cached ParserOutput, without re-parsing the 
page!
+                       $actions[self::PARSER_PURGE_ACTION] = true;
                }
 
                if ( isset( $aspects[EntityUsage::LABEL_USAGE] ) || $all ) {
diff --git a/client/tests/phpunit/includes/Changes/ChangeHandlerTest.php 
b/client/tests/phpunit/includes/Changes/ChangeHandlerTest.php
index 403da47..5a86997 100644
--- a/client/tests/phpunit/includes/Changes/ChangeHandlerTest.php
+++ b/client/tests/phpunit/includes/Changes/ChangeHandlerTest.php
@@ -187,8 +187,8 @@
                        ),
                        'sitelink usage' => array( // #1
                                array( EntityUsage::SITELINK_USAGE ),
-                               array( ChangeHandler::LINKS_UPDATE_ACTION, 
ChangeHandler::WEB_PURGE_ACTION, ChangeHandler::RC_ENTRY_ACTION ),
-                               array( ChangeHandler::PARSER_PURGE_ACTION )
+                               array( ChangeHandler::LINKS_UPDATE_ACTION, 
ChangeHandler::PARSER_PURGE_ACTION, ChangeHandler::WEB_PURGE_ACTION, 
ChangeHandler::RC_ENTRY_ACTION ),
+                               array( )
                        ),
                        'label usage' => array(
                                array( EntityUsage::LABEL_USAGE ),
@@ -507,14 +507,14 @@
                );
 
                $emmyUpdateLinks = array(
-                       'purgeParserCache' => array(),
+                       'purgeParserCache' => array( 'Emmy' => true ),
                        'scheduleRefreshLinks' => array( 'Emmy' => true ),
                        'purgeWebCache' => array( 'Emmy' => true ),
                        'injectRCRecord' => array( 'Emmy' => true ),
                );
 
                $emmy2UpdateLinks = array(
-                       'purgeParserCache' => array(),
+                       'purgeParserCache' => array( 'Emmy2' => true ),
                        'scheduleRefreshLinks' => array( 'Emmy2' => true ),
                        'purgeWebCache' => array( 'Emmy2' => true ),
                        'injectRCRecord' => array( 'Emmy2' => true ),
@@ -612,7 +612,7 @@
                                $changes['change-enwiki-sitelink'],
                                array( 'q100' => array( 'enwiki' => 'Emmy' ), 
'q200' => array( 'enwiki' => 'Emmy2' ) ),
                                array(
-                                       'purgeParserCache' => array(),
+                                       'purgeParserCache' => array( 'Emmy' => 
true, 'Emmy2' => true ),
                                        'scheduleRefreshLinks' => array( 'Emmy' 
=> true, 'Emmy2' => true ),
                                        'purgeWebCache' => array( 'Emmy' => 
true, 'Emmy2' => true ),
                                        'injectRCRecord' => array( 'Emmy' => 
true, 'Emmy2' => true ),

-- 
To view, visit https://gerrit.wikimedia.org/r/191629
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I438e9185afb28753ac922d2f81cfe6bece9d2660
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Daniel Kinzler <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to