Aaron Schulz has uploaded a new change for review.
https://gerrit.wikimedia.org/r/148444
Change subject: Use GET_LOCK to try to reduce INSERT deadlocks
......................................................................
Use GET_LOCK to try to reduce INSERT deadlocks
bug: 51410
Change-Id: Iae9a18b0c30b47b7db4a0a75d3f6d3293d27f67c
---
M utils/MessageGroupStats.php
1 file changed, 11 insertions(+), 6 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Translate
refs/changes/44/148444/1
diff --git a/utils/MessageGroupStats.php b/utils/MessageGroupStats.php
index d84fb7d..621aac1 100644
--- a/utils/MessageGroupStats.php
+++ b/utils/MessageGroupStats.php
@@ -358,12 +358,17 @@
);
$dbw = wfGetDB( DB_MASTER );
- $dbw->insert(
- self::TABLE,
- $data,
- __METHOD__,
- array( 'IGNORE' )
- );
+ // Try to avoid deadlocks with S->X lock upgrades in MySQL
+ $key = __CLASS__ . ":insert:$id-$code";
+ if ( $dbw->lock( $key, __METHOD__, 1 ) ) {
+ $dbw->insert(
+ self::TABLE,
+ $data,
+ __METHOD__,
+ array( 'IGNORE' )
+ );
+ $dbw->unlock( $key );
+ }
return $aggregates;
}
--
To view, visit https://gerrit.wikimedia.org/r/148444
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Iae9a18b0c30b47b7db4a0a75d3f6d3293d27f67c
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Translate
Gerrit-Branch: master
Gerrit-Owner: Aaron Schulz <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits