Page MenuHomePhabricator

Refactor NameTableStore to avoid complex onAtomicSectionCancel() callback
Closed, ResolvedPublic

Description

Since the callbacks from onAtomicSectionCancel() run during complex internal state updates within "critical sections" with Database, it is very hard to reason about callbacks that go back into the database trying to retry queries. Not to mention all of this stuff can be wrapped in multi-connection transaction rounds on the LBFactory level.

Ideally, onAtomicSectionCancel() should also be deprecated to avoid further callers.

This came up during the investigation of T368289.

Event Timeline

Change #1062143 had a related patch set uploaded (by Ladsgroup; author: Amir Sarabadani):

[mediawiki/core@master] Storage: Remove transaction cancel callback from NameTableStore

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

BPirkle changed the task status from Open to In Progress.Aug 22 2024, 3:18 PM
BPirkle assigned this task to aaron.
BPirkle triaged this task as Medium priority.
BPirkle moved this task from Incoming (Needs Triage) to In Progress on the MW-Interfaces-Team board.

Change #1062143 merged by jenkins-bot:

[mediawiki/core@master] Storage: Remove transaction cancel callback from NameTableStore

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

Ladsgroup claimed this task.
Ladsgroup added a project: DBA.
Ladsgroup moved this task from Triage to Done on the DBA board.