Page MenuHomePhabricator

Fix scoped DB lock nesting issues in Category::refreshCounts()
Closed, ResolvedPublic

Description

A regression from the fix for T162121 is that cases in refreshLinks and deleteLinksUpdate cause failure like " Category::refreshCounts: Cannot flush pre-lock snapshot because writes are pending (WikiPage::updateCategoryCounts)" because writes are pending while refreshCounts() tries to clear the transaction and a acquire a named lock.

This causes the updates to never happen.

Event Timeline

Change 356520 had a related patch set uploaded (by Aaron Schulz; owner: Aaron Schulz):
[mediawiki/core@master] Avoid scoped lock errors in Category::refreshCounts() due to nesting

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

Change 356520 merged by jenkins-bot:
[mediawiki/core@master] Avoid scoped lock errors in Category::refreshCounts() due to nesting

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

aaron triaged this task as High priority.

Change 376745 had a related patch set uploaded (by Martineznovo; owner: Aaron Schulz):
[mediawiki/core@REL1_29] Avoid scoped lock errors in Category::refreshCounts() due to nesting

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

Change 376745 merged by jenkins-bot:
[mediawiki/core@REL1_29] Avoid scoped lock errors in Category::refreshCounts() due to nesting

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