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).
Description
Description
Details
Details
Subject | Repo | Branch | Lines +/- | |
---|---|---|---|---|
Make only needed DB operations when saving preferences | mediawiki/extensions/GlobalPreferences | master | +26 -6 |
Event Timeline
Comment Actions
Seems like potentially a lot of work. We should discuss if this is a blocker for releasing to all Wikipedias.
Comment Actions
Change 440046 had a related patch set uploaded (by MaxSem; owner: MaxSem):
[mediawiki/extensions/GlobalPreferences@master] Make only needed DB operations when saving preferences
Comment Actions
Change 440046 merged by jenkins-bot:
[mediawiki/extensions/GlobalPreferences@master] Make only needed DB operations when saving preferences