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

aaron created this task.Jun 1 2017, 5:09 AM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptJun 1 2017, 5:09 AM

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

aaron moved this task from Inbox to Doing on the Performance-Team board.Jun 1 2017, 5:21 PM

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 closed this task as Resolved.Jun 5 2017, 6:13 AM
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