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
  • 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

SubjectRepoBranchLines +/-
mediawiki/coremaster+183 -157
mediawiki/extensions/Gadgetsmaster+7 -4
mediawiki/extensions/TitleBlacklistmaster+2 -2
mediawiki/extensions/WikibaseQualityConstraintsmaster+1 -2
mediawiki/extensions/EventLoggingmaster+2 -2
mediawiki/extensions/JsonConfigmaster+2 -3
mediawiki/extensions/OATHAuthmaster+3 -3
mediawiki/extensions/Wikibasemaster+21 -11
mediawiki/extensions/CentralAuthmaster+2 -2
mediawiki/extensions/Translatemaster+13 -15
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

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.Mon, May 20, 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