jenkins-bot has submitted this change and it was merged.

Change subject: Schedule a LinksUpdate job if sitelinks changed
......................................................................


Schedule a LinksUpdate job if sitelinks changed

And no longer purge the page.

We handle langlinks using ParserOuput these days
so that this is fine for the UI and it also makes
the API output (action=query&prop=langlinks) work.

I tested that unlinking and initially linking a client
page does still trigger all relevant updates (which is
more than LinksUpdate).

Bug: T89903
Change-Id: I6b8b7bce1f2843af0fa43db24af9c71a2c3e875c
---
M client/includes/Changes/ChangeHandler.php
M client/tests/phpunit/includes/Changes/ChangeHandlerTest.php
2 files changed, 20 insertions(+), 25 deletions(-)

Approvals:
  Daniel Kinzler: Looks good to me, approved
  QEDK: Looks good to me, but someone else must approve
  jenkins-bot: Verified



diff --git a/client/includes/Changes/ChangeHandler.php 
b/client/includes/Changes/ChangeHandler.php
index c80637d..54ab31b 100644
--- a/client/includes/Changes/ChangeHandler.php
+++ b/client/includes/Changes/ChangeHandler.php
@@ -206,14 +206,7 @@
                $all = isset( $aspects[EntityUsage::ALL_USAGE] );
 
                if ( isset( $aspects[EntityUsage::SITELINK_USAGE] ) || $all ) {
-                       // @fixme: LinksUpdate doesn't seem to work to refresh 
site links
-                       // when used on it's own with out parsing.
-                       // LinksUpdate or our interaction with it should be 
changed
-                       // so that site links can be updated without parse.
-                       // For now, we need to still do parse for site link 
changes.
-                       //
-                       // $actions[self::LINKS_UPDATE_ACTION] = true;
-                       $actions[self::PARSER_PURGE_ACTION] = true;
+                       $actions[self::LINKS_UPDATE_ACTION] = true;
                }
 
                if ( isset( $aspects[EntityUsage::LABEL_USAGE] ) || $all ) {
@@ -234,11 +227,6 @@
                        $actions[self::WEB_PURGE_ACTION] = true;
                        $actions[self::RC_ENTRY_ACTION] = true;
                        $actions[self::HISTORY_ENTRY_ACTION] = true;
-               }
-
-               // If we purge the parser cache, the links update is redundant.
-               if ( isset( $actions[self::PARSER_PURGE_ACTION] ) ) {
-                       unset( $actions[self::LINKS_UPDATE_ACTION] );
                }
 
                return array_keys( $actions );
diff --git a/client/tests/phpunit/includes/Changes/ChangeHandlerTest.php 
b/client/tests/phpunit/includes/Changes/ChangeHandlerTest.php
index ac39125..403da47 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::PARSER_PURGE_ACTION, 
ChangeHandler::WEB_PURGE_ACTION, ChangeHandler::RC_ENTRY_ACTION ),
-                               array( ChangeHandler::LINKS_UPDATE_ACTION )
+                               array( ChangeHandler::LINKS_UPDATE_ACTION, 
ChangeHandler::WEB_PURGE_ACTION, ChangeHandler::RC_ENTRY_ACTION ),
+                               array( ChangeHandler::PARSER_PURGE_ACTION )
                        ),
                        'label usage' => array(
                                array( EntityUsage::LABEL_USAGE ),
@@ -208,12 +208,12 @@
                        'all usage' => array(
                                array( EntityUsage::ALL_USAGE ),
                                array( ChangeHandler::PARSER_PURGE_ACTION, 
ChangeHandler::WEB_PURGE_ACTION, ChangeHandler::RC_ENTRY_ACTION ),
-                               array( ChangeHandler::LINKS_UPDATE_ACTION )
+                               array()
                        ),
-                       'sitelink and other usage (no redundant links update)' 
=> array(
+                       'sitelink and other usage (does links update)' => array(
                                array( EntityUsage::SITELINK_USAGE, 
EntityUsage::OTHER_USAGE ),
-                               array( ChangeHandler::PARSER_PURGE_ACTION, 
ChangeHandler::WEB_PURGE_ACTION, ChangeHandler::RC_ENTRY_ACTION ),
-                               array( ChangeHandler::LINKS_UPDATE_ACTION )
+                               array( ChangeHandler::LINKS_UPDATE_ACTION, 
ChangeHandler::PARSER_PURGE_ACTION, ChangeHandler::WEB_PURGE_ACTION, 
ChangeHandler::RC_ENTRY_ACTION ),
+                               array()
                        ),
                );
        }
@@ -507,15 +507,22 @@
                );
 
                $emmyUpdateLinks = array(
-                       'purgeParserCache' => array( 'Emmy' => true ),
-                       'scheduleRefreshLinks' => array(),
+                       'purgeParserCache' => array(),
+                       'scheduleRefreshLinks' => array( 'Emmy' => true ),
                        'purgeWebCache' => array( 'Emmy' => true ),
                        'injectRCRecord' => array( 'Emmy' => true ),
                );
 
                $emmy2UpdateLinks = array(
+                       'purgeParserCache' => array(),
+                       'scheduleRefreshLinks' => array( 'Emmy2' => true ),
+                       'purgeWebCache' => array( 'Emmy2' => true ),
+                       'injectRCRecord' => array( 'Emmy2' => true ),
+               );
+
+               $emmy2UpdateAll = array(
                        'purgeParserCache' => array( 'Emmy2' => true ),
-                       'scheduleRefreshLinks' => array(),
+                       'scheduleRefreshLinks' => array( 'Emmy2' => true ),
                        'purgeWebCache' => array( 'Emmy2' => true ),
                        'injectRCRecord' => array( 'Emmy2' => true ),
                );
@@ -550,7 +557,7 @@
                        array( // #5
                                $changes['item-deletion-linked'],
                                array( 'q100' => array( 'enwiki' => 'Emmy2' ) ),
-                               $emmy2PurgeParser
+                               $emmy2UpdateAll
                        ),
 
                        array( // #6
@@ -605,8 +612,8 @@
                                $changes['change-enwiki-sitelink'],
                                array( 'q100' => array( 'enwiki' => 'Emmy' ), 
'q200' => array( 'enwiki' => 'Emmy2' ) ),
                                array(
-                                       'purgeParserCache' => array( 'Emmy' => 
true, 'Emmy2' => true ),
-                                       'scheduleRefreshLinks' => array(),
+                                       'purgeParserCache' => array(),
+                                       '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/191595
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I6b8b7bce1f2843af0fa43db24af9c71a2c3e875c
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Hoo man <[email protected]>
Gerrit-Reviewer: Aude <[email protected]>
Gerrit-Reviewer: Daniel Kinzler <[email protected]>
Gerrit-Reviewer: QEDK <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to