Page MenuHomePhabricator

Replace deprecated ObjectCache factory methods in Wikimedia deployed code
Open, Needs TriagePublic

Description

Replace the static factory methods deprecated in T358346: Introduce ObjectCacheFactory to MediaWiki core with proper dependency injection:

  • ObjectCache::getInstance()
  • ObjectCache::newFromParams()
  • ObjectCache::newAnything()
  • ObjectCache::getLocalServerInstance()

(Not sure what's the deal with ObjectCache::getLocalClusterInstance(), which wasn't deprecated.)

A search indicates several repos need an update:

  • MediaWiki core
  • mediawiki/extensions/Translate (T369056)
  • mediawiki/extensions/Wikibase (T361949)
  • mediawiki/extensions/CentralAuth
  • mediawiki/extensions/Echo
  • mediawiki/extensions/EventLogging
  • mediawiki/extensions/ExtensionDistributor
  • mediawiki/extensions/JsonConfig
  • mediawiki/extensions/Scribunto
  • mediawiki/extensions/SpamBlacklist
  • mediawiki/extensions/TitleBlacklist
  • mediawiki/extensions/TranslationNotifications
  • mediawiki/extensions/WikibaseQualityConstraints

Details

Related Changes in Gerrit:
SubjectRepoBranchLines +/-
mediawiki/extensions/DonationInterfacemaster+17 -11
mediawiki/extensions/Translatemaster+13 -15
mediawiki/extensions/Gadgetsmaster+17 -9
mediawiki/extensions/Wikibasemaster+64 -24
mediawiki/extensions/DonationInterfacemaster+35 -11
mediawiki/coremaster+85 -49
mediawiki/extensions/Echomaster+1 -1
mediawiki/extensions/VisualEditormaster+3 -3
mediawiki/extensions/LiquidThreadsmaster+2 -2
mediawiki/extensions/ConfirmEditmaster+7 -9
mediawiki/extensions/AbuseFiltermaster+1 -1
mediawiki/extensions/WikibaseLexememaster+1 -1
mediawiki/extensions/FlaggedRevsmaster+2 -1
mediawiki/extensions/BetaFeaturesmaster+2 -2
mediawiki/extensions/PageViewInfomaster+1 -2
mediawiki/extensions/WikibaseMediaInfomaster+1 -1
mediawiki/extensions/SpamBlacklistmaster+5 -5
mediawiki/extensions/JsonConfigmaster+2 -3
mediawiki/extensions/EventLoggingmaster+2 -2
mediawiki/coremaster+185 -159
mediawiki/extensions/TitleBlacklistmaster+2 -2
mediawiki/extensions/OATHAuthmaster+3 -3
mediawiki/extensions/WikibaseQualityConstraintsmaster+1 -2
mediawiki/extensions/CentralAuthmaster+2 -2
mediawiki/extensions/Scribuntomaster+9 -6
mediawiki/extensions/OAuthmaster+4 -3
mediawiki/extensions/TranslationNotificationsmaster+2 -3
mediawiki/extensions/Echomaster+3 -3
mediawiki/extensions/ExtensionDistributormaster+5 -3
mediawiki/coremaster+57 -49
Show related patches Customize query in gerrit

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
Restricted Application added a subscriber: Aklapper. · View Herald Transcript

Not sure what's the deal with ObjectCache::getLocalClusterInstance(), which wasn't deprecated.

@Tgr, there are a few other methods in ObjectCache that I'll like to port (including what you mentioned) into ObjectCacheFactory and deprecate them in ObjectCache. But the main ones are done already and the rest are not too hard to achieve. The reason it wasn't deprecated at the time the patch was made was because the change was becoming relatively too large which would have made it slightly harder to attract reviewers or to fit in my brain at once :)

But for now, folks can begin migrating to the new methods, that's fine.

I'll see if I can get a patch up before the week runs out, should be like an hour or two worth of work :)

Change #1027526 had a related patch set uploaded (by Slri; author: Slri):

[mediawiki/core@master] fix: use objectcachefactory methods instead of deprecated objectcache methods

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

Change #1027526 merged by jenkins-bot:

[mediawiki/core@master] fix: use objectcachefactory methods instead of deprecated objectcache methods

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

Change #1029110 had a related patch set uploaded (by Wandji collins; author: Wandji collins):

[mediawiki/extensions/Wikibase@master] Fix: Use objectCacheFactory instead of deprecate objectCache method

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

Change #1029116 had a related patch set uploaded (by Wandji collins; author: Wandji collins):

[mediawiki/extensions/Translate@master] Fix: Use objectCacheFactory instead of deprecated objectCache method

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

Change #1029132 had a related patch set uploaded (by Wandji collins; author: Wandji collins):

[mediawiki/extensions/CentralAuth@master] Fix: Use objectCacheFactory instead of deprecated objectcache method

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

Change #1029149 had a related patch set uploaded (by Wandji collins; author: Wandji collins):

[mediawiki/extensions/TranslationNotifications@master] Fix: Use objectCacheFactory instead of deprecated objectCache

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

Change #1029299 had a related patch set uploaded (by Wandji collins; author: Wandji collins):

[mediawiki/extensions/Scribunto@master] Fix: Use objectCacheFactory instead of deprecated objectCahce method

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

Change #1030914 had a related patch set uploaded (by D3r1ck01; author: Derick Alangi):

[mediawiki/core@master] objectcache: Complete refactor of `ObjectCache.php`

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

(Not sure what's the deal with ObjectCache::getLocalClusterInstance(), which wasn't deprecated.)

@Tgr, here is the patch: https://gerrit.wikimedia.org/r/c/mediawiki/core/+/1030914 that completes the refactor and deprecates what you mentioned in the task and others.

Change #1031411 had a related patch set uploaded (by Wandji collins; author: Wandji collins):

[mediawiki/extensions/Echo@master] Fix: use objectCacheFactory instead of deprecated objectCache method

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

Change #1031443 had a related patch set uploaded (by Wandji collins; author: Wandji collins):

[mediawiki/extensions/ExtensionDistributor@master] Fix: Use objectcachefactory instead of deprecated objectcache

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

Change #1031508 had a related patch set uploaded (by Wandji collins; author: Wandji collins):

[mediawiki/extensions/OAuth@master] Fix: use objectcachefactory methods instead of deprecated objectcache methods

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

Change #1031509 had a related patch set uploaded (by Wandji collins; author: Wandji collins):

[mediawiki/extensions/Gadgets@master] Fix:Use objectCacheFactory instead of the deprecated objectCache method.

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

Change #1031443 merged by jenkins-bot:

[mediawiki/extensions/ExtensionDistributor@master] Use ObjectCacheFactory instead of deprecated ObjectCache method

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

Change #1031411 merged by jenkins-bot:

[mediawiki/extensions/Echo@master] Use ObjectCacheFactory instead of deprecated ObjectCache method

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

Change #1029149 merged by jenkins-bot:

[mediawiki/extensions/TranslationNotifications@master] Use ObjectCacheFactory instead of deprecated ObjectCache method

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

Change #1031508 merged by jenkins-bot:

[mediawiki/extensions/OAuth@master] Use ObjectCacheFactory instead of deprecated ObjectCache method

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

Change #1029299 merged by jenkins-bot:

[mediawiki/extensions/Scribunto@master] Use ObjectCacheFactory instead of deprecated ObjectCache method

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

Change #1029132 merged by jenkins-bot:

[mediawiki/extensions/CentralAuth@master] Use ObjectCacheFactory instead of deprecated ObjectCache method

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

Krinkle renamed this task from Replace deprecated ObjectCache factory methods in Wikimedia code to Replace deprecated ObjectCache factory methods in Wikimedia deployed code.May 20 2024, 6:07 PM

Change #1034186 had a related patch set uploaded (by Wandji collins; author: Wandji collins):

[mediawiki/extensions/OATHAuth@master] Fix: Use ObjectCacheFactory instead of deprecated ObjectCache Methods

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

Change #1034191 had a related patch set uploaded (by Wandji collins; author: Wandji collins):

[mediawiki/extensions/JsonConfig@master] Fix: Use ObjectCacheFactory instead of deprecated ObjectCache methods

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

Change #1034198 had a related patch set uploaded (by Wandji collins; author: Wandji collins):

[mediawiki/extensions/EventLogging@master] Fix: Use ObjectCacheFactory methods instead of deprecated ObjectCache methods

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

Change #1034201 had a related patch set uploaded (by Wandji collins; author: Wandji collins):

[mediawiki/extensions/WikibaseQualityConstraints@master] Fix: Use ObjectCacheFactory methods instead of deprecated ObjectCache methods

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

Change #1034202 had a related patch set uploaded (by Wandji collins; author: Wandji collins):

[mediawiki/extensions/TitleBlacklist@master] Fix: Use ObjectCacheFactory methods instead of deprecated ObjectCache methods

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

Change #1030914 merged by jenkins-bot:

[mediawiki/core@master] objectcache: Complete refactor of `ObjectCache.php`

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

Change #1034201 merged by jenkins-bot:

[mediawiki/extensions/WikibaseQualityConstraints@master] Fix: Use ObjectCacheFactory methods instead of deprecated ObjectCache methods

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

Change #1034186 merged by jenkins-bot:

[mediawiki/extensions/OATHAuth@master] Fix: Use ObjectCacheFactory instead of deprecated ObjectCache Methods

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

Change #1034202 merged by jenkins-bot:

[mediawiki/extensions/TitleBlacklist@master] Use ObjectCacheFactory instead of deprecated ObjectCache method

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

Change #1034198 merged by jenkins-bot:

[mediawiki/extensions/EventLogging@master] Use ObjectCacheFactory instead of deprecated ObjectCache methods

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

Change #1034191 merged by jenkins-bot:

[mediawiki/extensions/JsonConfig@master] Use ObjectCacheFactory instead of deprecated ObjectCache methods

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

Change #1031509 merged by jenkins-bot:

[mediawiki/extensions/Gadgets@master] Use ObjectCacheFactory instead of the deprecated ObjectCache methods

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

Change #1029110 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] Use ObjectCacheFactory instead of deprecated ObjectCache methods

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

Change #1036327 had a related patch set uploaded (by Wandji collins; author: Wandji collins):

[mediawiki/extensions/SpamBlacklist@master] Use ObjectCacheFactory instead of Deprecate ObjectCache methods

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

Change #1036327 merged by jenkins-bot:

[mediawiki/extensions/SpamBlacklist@master] Use ObjectCacheFactory instead of deprecated ObjectCache methods

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

Change #1039273 had a related patch set uploaded (by Wandji collins; author: Wandji collins):

[mediawiki/core@master] User objectCacheFactory methods not deprecated ObjectCache methods

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

Change #1040856 had a related patch set uploaded (by Wandji collins; author: Wandji collins):

[mediawiki/extensions/DonationInterface@master] Use ObjectCacheFactory getLocalCluster method

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

Change #1040860 had a related patch set uploaded (by Wandji collins; author: Wandji collins):

[mediawiki/extensions/ConfirmEdit@master] Use ObjectCacheFactory methods

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

Change #1040861 had a related patch set uploaded (by Wandji collins; author: Wandji collins):

[mediawiki/extensions/VisualEditor@master] Use ObjectCacheFactory methods

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

Change #1041234 had a related patch set uploaded (by Wandji collins; author: Wandji collins):

[mediawiki/extensions/LiquidThreads@master] Use ObjectCacheFactory methods

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

Change #1039273 merged by jenkins-bot:

[mediawiki/core@master] User objectCacheFactory methods not deprecated ObjectCache methods

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

Change #1042990 had a related patch set uploaded (by Lucas Werkmeister (WMDE); author: Lucas Werkmeister (WMDE)):

[mediawiki/extensions/WikibaseLexeme@master] Use ObjectCacheFactory

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

Change #1042992 had a related patch set uploaded (by Lucas Werkmeister (WMDE); author: Lucas Werkmeister (WMDE)):

[mediawiki/extensions/WikibaseMediaInfo@master] Use ObjectCacheFactory

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

Change #1043013 had a related patch set uploaded (by Wandji collins; author: Wandji collins):

[mediawiki/extensions/AbuseFilter@master] Use ObjectCacheFactory

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

Change #1043022 had a related patch set uploaded (by Wandji collins; author: Wandji collins):

[mediawiki/extensions/BetaFeatures@master] Use ObjectCacheFactory

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

Change #1043035 had a related patch set uploaded (by Wandji collins; author: Wandji collins):

[mediawiki/extensions/PageViewInfo@master] Use ObjectCacheFactory

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

Change #1043047 had a related patch set uploaded (by Wandji collins; author: Wandji collins):

[mediawiki/extensions/FlaggedRevs@master] Use ObjectCacheFactory

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

Change #1042992 merged by jenkins-bot:

[mediawiki/extensions/WikibaseMediaInfo@master] Use ObjectCacheFactory

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

Change #1043035 merged by jenkins-bot:

[mediawiki/extensions/PageViewInfo@master] Use ObjectCacheFactory

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

Change #1043047 merged by jenkins-bot:

[mediawiki/extensions/FlaggedRevs@master] Use ObjectCacheFactory

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

Change #1043022 merged by jenkins-bot:

[mediawiki/extensions/BetaFeatures@master] Use ObjectCacheFactory

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

Change #1043013 merged by jenkins-bot:

[mediawiki/extensions/AbuseFilter@master] Use ObjectCacheFactory

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

Change #1042990 merged by jenkins-bot:

[mediawiki/extensions/WikibaseLexeme@master] Use ObjectCacheFactory

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

Change #1041234 merged by jenkins-bot:

[mediawiki/extensions/LiquidThreads@master] Use ObjectCacheFactory methods

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

Change #1040860 merged by jenkins-bot:

[mediawiki/extensions/ConfirmEdit@master] Use ObjectCacheFactory methods

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

Change #1040861 merged by jenkins-bot:

[mediawiki/extensions/VisualEditor@master] Use ObjectCacheFactory methods

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

Change #1049862 had a related patch set uploaded (by Wandji collins; author: Wandji collins):

[mediawiki/extensions/Echo@master] Use ObjectCacheFactory instead of ObjectCache method

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

Change #1049862 merged by jenkins-bot:

[mediawiki/extensions/Echo@master] Use ObjectCacheFactory instead of ObjectCache method

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

Change #1029116 abandoned by Abijeet Patro:

[mediawiki/extensions/Translate@master] Fix: Use objectCacheFactory instead of deprecated objectCache method

Reason:

In favor of I1c65808a702003c28181de299db2009b39e01f23

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

Change #1150091 had a related patch set uploaded (by D3r1ck01; author: Derick Alangi):

[mediawiki/extensions/DonationInterface@master] Migrate usage of ObjectCache to ObjectCacheFactory

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

Change #1150091 merged by jenkins-bot:

[mediawiki/extensions/DonationInterface@master] Migrate usage of ObjectCache to ObjectCacheFactory

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