resourceloader: Use upsert() instead of replace() for module_deps write
This should perform better and reduce internal lock contention on the database server. Bug: T158105 Change-Id: I1acfb0630946283b317cb929e8d7c3b2af757ecf
This commit is contained in:
parent
71803987d3
commit
e7b57d881a
1 changed files with 8 additions and 4 deletions
|
|
@ -476,14 +476,18 @@ abstract class ResourceLoaderModule implements LoggerAwareInterface {
|
|||
}
|
||||
|
||||
$vary = $context->getSkin() . '|' . $context->getLanguage();
|
||||
// Use relative paths to avoid ghost entries when $IP changes (T111481)
|
||||
$deps = FormatJson::encode( self::getRelativePaths( $localFileRefs ) );
|
||||
$dbw = wfGetDB( DB_MASTER );
|
||||
$dbw->replace( 'module_deps',
|
||||
[ [ 'md_module', 'md_skin' ] ],
|
||||
$dbw->upsert( 'module_deps',
|
||||
[
|
||||
'md_module' => $this->getName(),
|
||||
'md_skin' => $vary,
|
||||
// Use relative paths to avoid ghost entries when $IP changes (T111481)
|
||||
'md_deps' => FormatJson::encode( self::getRelativePaths( $localFileRefs ) ),
|
||||
'md_deps' => $deps,
|
||||
],
|
||||
[ 'md_module', 'md_skin' ],
|
||||
[
|
||||
'md_deps' => $deps,
|
||||
]
|
||||
);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue