Page MenuHomePhabricator

Don't blindly delete and reinsert all settings on save
Closed, ResolvedPublic3 Estimated Story Points

Description

Right now, on global preference save, we delete all the preferences known to the local wiki and reinsert whole dataset, even if only 1 row has changed. Not only this results in increased DB load, it will also cause deadlocks with sufficient concurrency. Just save only the settings that have changed, like most other places we do similar things (e.g. LinksUpdate in core).

Event Timeline

Let's do this before problems appear.

Seems like potentially a lot of work. We should discuss if this is a blocker for releasing to all Wikipedias.

Change 440046 had a related patch set uploaded (by MaxSem; owner: MaxSem):
[mediawiki/extensions/GlobalPreferences@master] Make only needed DB operations when saving preferences

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

Change 440046 merged by jenkins-bot:
[mediawiki/extensions/GlobalPreferences@master] Make only needed DB operations when saving preferences

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