Plan out and estimate how long it will take, to inform timelines
Stop sending language link notifications to 'different language from the current wiki'
Architecture
Deploy per pilot wiki. Drop entity notifications after a client receives it from the Wikidata end, when the change matches criteria.
Add a feature flag so it can be rolled back as quick as possible (within 1 day, limited to Monday-Thursday)
We are not currently planning any secret workarounds such as a hidden URL parameterβthe data will not be present.
Implementation details
To intercept on the client, we can detect the condition in Wikibase\Client\Changes\ChangeHandler, where we have the EntityChange containing enough information to discriminate other language link updates. It should be checked before getAffectedUsagesByPage to avoid unnecessary database lookups.
New behavior will be toggled with a new configuration variable suppressOtherLanguageLinkUpdates.
- Make sure that suppressing the change propagation won't affect the language selector functionality to show which other languages are available. This seems to come from SiteLinkLookup, always pulling from the Wikibase repo's wb_items_per_site table.
Monitoring
The following changes are expected on wikis where we enable the new flag. No change is expected on other wikis.
- InjectRCRecordJob count. Expected to decrease by c. 50% immediately. Filter job volume dashboard to "eqiad.mediawiki.job.wikibase-InjectRCRecords". (Note that it can not be limited to a single client wiki.)
- EntityChangeNotificationJob count. Expected to stay the same. Filter job volume dashboard filtered to "eqiad.mediawiki.job.EntityChangeNotification". (Note that it can not be limited to a single client wiki.)
- recent_changes row count. Expected Wikibase-injected RC count to fall by c. 50% over 30 days. dashboard
- Dropped messages will be logged at "debug" level under the "Wikibase" facility, with normalized message "{method}: dropping change #{changeId} as an other-language sitelink". Expected to occur roughly as often as the decrease in InjectRCRecordJob counts.
- wmgMonologChannels is currently configured to limit the Wikibase channel to warning-level. We should decide whether we care enough about the debug messages to enable them.
- Errors in the jobs. None expected. dashboard
- Rate of language-link recentchanges and proportion of recentchanges made up of language-link changes