Aaron Schulz has uploaded a new change for review. https://gerrit.wikimedia.org/r/266987
Change subject: Reduce module_deps write slams on deployments ...................................................................... Reduce module_deps write slams on deployments Bug: T124649 Change-Id: I8d45e538f7d3d098a89950e5777e0984c90d7e51 --- M includes/resourceloader/ResourceLoaderModule.php 1 file changed, 10 insertions(+), 0 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core refs/changes/87/266987/1 diff --git a/includes/resourceloader/ResourceLoaderModule.php b/includes/resourceloader/ResourceLoaderModule.php index 113fc84..e065f74 100644 --- a/includes/resourceloader/ResourceLoaderModule.php +++ b/includes/resourceloader/ResourceLoaderModule.php @@ -433,6 +433,12 @@ try { // If the list has been modified since last time we cached it, update the cache if ( $localFileRefs !== $this->getFileDependencies( $context ) ) { + $cache = ObjectCache::getLocalClusterInstance(); + $scopeLock = $cache->getScopedLock( __METHOD__, 0 ); + if ( !$scopeLock ) { + return; // T124649; avoid write slams + } + $vary = $context->getSkin() . '|' . $context->getLanguage(); $dbw = wfGetDB( DB_MASTER ); $dbw->replace( 'module_deps', @@ -443,6 +449,10 @@ 'md_deps' => FormatJson::encode( self::getRelativePaths( $localFileRefs ) ), ) ); + + $dbw->onTransactionIdle( function () use ( &$scopeLock ) { + ScopedCallback::consume( $scopeLock ); // release after commit + } ); } } catch ( Exception $e ) { wfDebugLog( 'resourceloader', __METHOD__ . ": failed to update DB: $e" ); -- To view, visit https://gerrit.wikimedia.org/r/266987 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I8d45e538f7d3d098a89950e5777e0984c90d7e51 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/core Gerrit-Branch: master Gerrit-Owner: Aaron Schulz <asch...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits