jenkins-bot has submitted this change and it was merged. Change subject: Call setTransactionTicket() on DeferredUpdates sub-queue items too ......................................................................
Call setTransactionTicket() on DeferredUpdates sub-queue items too This should lower the rate of "does not have outer scope" log warnings in DBPerformance. Also add traces to such logs. Change-Id: I7d21ea745cae07e0fbbe4cd8de82e93f1d10e0a5 --- M includes/deferred/DeferredUpdates.php M includes/libs/rdbms/lbfactory/LBFactory.php 2 files changed, 10 insertions(+), 2 deletions(-) Approvals: Legoktm: Looks good to me, approved jenkins-bot: Verified diff --git a/includes/deferred/DeferredUpdates.php b/includes/deferred/DeferredUpdates.php index d24ebde..8a761f5 100644 --- a/includes/deferred/DeferredUpdates.php +++ b/includes/deferred/DeferredUpdates.php @@ -214,6 +214,10 @@ $firstKey = key( self::$executeContext['subqueue'] ); unset( self::$executeContext['subqueue'][$firstKey] ); + if ( $subUpdate instanceof DataUpdate ) { + $subUpdate->setTransactionTicket( $ticket ); + } + $guiError = self::runUpdate( $subUpdate, $lbFactory, $stage ); $reportableError = $reportableError ?: $guiError; } diff --git a/includes/libs/rdbms/lbfactory/LBFactory.php b/includes/libs/rdbms/lbfactory/LBFactory.php index d75ba93..aa932aa 100644 --- a/includes/libs/rdbms/lbfactory/LBFactory.php +++ b/includes/libs/rdbms/lbfactory/LBFactory.php @@ -519,7 +519,9 @@ */ public function getEmptyTransactionTicket( $fname ) { if ( $this->hasMasterChanges() ) { - $this->queryLogger->error( __METHOD__ . ": $fname does not have outer scope." ); + $this->queryLogger->error( __METHOD__ . ": $fname does not have outer scope.\n" . + ( new RuntimeException() )->getTraceAsString() ); + return null; } @@ -539,7 +541,9 @@ */ public function commitAndWaitForReplication( $fname, $ticket, array $opts = [] ) { if ( $ticket !== $this->ticket ) { - $this->perfLogger->error( __METHOD__ . ": $fname does not have outer scope." ); + $this->perfLogger->error( __METHOD__ . ": $fname does not have outer scope.\n" . + ( new RuntimeException() )->getTraceAsString() ); + return; } -- To view, visit https://gerrit.wikimedia.org/r/312434 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I7d21ea745cae07e0fbbe4cd8de82e93f1d10e0a5 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/core Gerrit-Branch: master Gerrit-Owner: Aaron Schulz <asch...@wikimedia.org> Gerrit-Reviewer: Legoktm <legoktm.wikipe...@gmail.com> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits