[MediaWiki-commits] [Gerrit] mediawiki/core[master]: Reduce contention during view-based category count refreshes
jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/346672 ) Change subject: Reduce contention during view-based category count refreshes .. Reduce contention during view-based category count refreshes Bug: T162121 Change-Id: I05b539922508d5e73979ccc8ea1c148b16dd13db --- M includes/CategoryViewer.php 1 file changed, 7 insertions(+), 1 deletion(-) Approvals: Krinkle: Looks good to me, approved jenkins-bot: Verified diff --git a/includes/CategoryViewer.php b/includes/CategoryViewer.php index 31369b0..0205d70 100644 --- a/includes/CategoryViewer.php +++ b/includes/CategoryViewer.php @@ -742,7 +742,13 @@ $totalcnt = $rescnt; $category = $this->cat; DeferredUpdates::addCallableUpdate( function () use ( $category ) { - $category->refreshCounts(); + # Avoid excess contention on the same category (T162121) + $dbw = wfGetDB( DB_MASTER ); + $name = __METHOD__ . ':' . md5( $this->mName ); + $scopedLock = $dbw->getScopedLockAndFlush( $name, __METHOD__, 1 ); + if ( $scopedLock ) { + $category->refreshCounts(); + } } ); } else { // Case 3: hopeless. Don't give a total count at all. -- To view, visit https://gerrit.wikimedia.org/r/346672 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I05b539922508d5e73979ccc8ea1c148b16dd13db Gerrit-PatchSet: 2 Gerrit-Project: mediawiki/core Gerrit-Branch: master Gerrit-Owner: Aaron Schulz Gerrit-Reviewer: Krinkle Gerrit-Reviewer: jenkins-bot <> ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] mediawiki/core[master]: Reduce contention during view-based category count refreshes
Aaron Schulz has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/346672 ) Change subject: Reduce contention during view-based category count refreshes .. Reduce contention during view-based category count refreshes Bug: T162121 Change-Id: I05b539922508d5e73979ccc8ea1c148b16dd13db --- M includes/CategoryViewer.php 1 file changed, 6 insertions(+), 1 deletion(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core refs/changes/72/346672/1 diff --git a/includes/CategoryViewer.php b/includes/CategoryViewer.php index 31369b0..f624f25 100644 --- a/includes/CategoryViewer.php +++ b/includes/CategoryViewer.php @@ -742,7 +742,12 @@ $totalcnt = $rescnt; $category = $this->cat; DeferredUpdates::addCallableUpdate( function () use ( $category ) { - $category->refreshCounts(); + # Avoid excess contention on the same category (T162121) + $name = __METHOD__ . ':' . md5( $this->mName ); + $scopedLock = wfGetDB( DB_MASTER )->getScopedLockAndFlush( $name ); + if ( $scopedLock ) { + $category->refreshCounts(); + } } ); } else { // Case 3: hopeless. Don't give a total count at all. -- To view, visit https://gerrit.wikimedia.org/r/346672 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I05b539922508d5e73979ccc8ea1c148b16dd13db Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/core Gerrit-Branch: master Gerrit-Owner: Aaron Schulz ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits