Page MenuHomePhabricator

Reduce TransactionProfiler Logspam in 3rd Party installations since updating to MW 1.43
Open, Needs TriagePublic

Description

Noticed by Wikibase Cloud in T408101.

This ticket is to try and document what people should do to prevent this logspam (or discover is there is actually some miswiring?) that results in lots of loglines like

[rdbms] Expectation (masterConns <= 0) by MediaWiki\Actions\ActionEntryPoint::execute not met (actual: 1):
[connect to sql-mariadb-primary.default.svc.cluster.local (mwdb_2305b17347)]

#0 /var/www/html/w/includes/libs/rdbms/TransactionProfiler.php(269): Wikimedia\Rdbms\TransactionProfiler->reportExpectationViolated(string, string, int)
#1 /var/www/html/w/includes/libs/rdbms/loadbalancer/LoadBalancer.php(807): Wikimedia\Rdbms\TransactionProfiler->recordConnection(string, string, bool)
#2 /var/www/html/w/includes/libs/rdbms/loadbalancer/LoadBalancer.php(784): Wikimedia\Rdbms\LoadBalancer->getServerConnection(int, string, int)
#3 /var/www/html/w/includes/libs/rdbms/database/DBConnRef.php(111): Wikimedia\Rdbms\LoadBalancer->getConnectionInternal(int, array, string, int)
#4 /var/www/html/w/includes/libs/rdbms/database/DBConnRef.php(125): Wikimedia\Rdbms\DBConnRef->ensureConnection()
#5 /var/www/html/w/includes/libs/rdbms/database/DBConnRef.php(369): Wikimedia\Rdbms\DBConnRef->__call(string, array)
#6 /var/www/html/w/includes/libs/rdbms/querybuilder/SelectQueryBuilder.php(793): Wikimedia\Rdbms\DBConnRef->selectRow(array, array, array, string, array, array)
#7 /var/www/html/w/includes/user/User.php(422): Wikimedia\Rdbms\SelectQueryBuilder->fetchRow()
#8 /var/www/html/w/includes/user/User.php(1557): MediaWiki\User\User->load()
#9 /var/www/html/w/includes/user/User.php(2125): MediaWiki\User\User->getId()
#10 /var/www/html/w/includes/ResourceLoader/UserStylesModule.php(47): MediaWiki\User\User->isRegistered()
#11 /var/www/html/w/includes/ResourceLoader/WikiModule.php(609): MediaWiki\ResourceLoader\UserStylesModule->getPages(MediaWiki\ResourceLoader\Context)
#12 /var/www/html/w/includes/Output/OutputPage.php(3725): MediaWiki\ResourceLoader\WikiModule::preloadTitleInfo(MediaWiki\ResourceLoader\Context, array)
#13 /var/www/html/w/includes/Output/OutputPage.php(3799): MediaWiki\Output\OutputPage->getRlClient()
#14 /var/www/html/w/includes/skins/Skin.php(693): MediaWiki\Output\OutputPage->headElement(MediaWiki\Skins\Vector\SkinVectorLegacy)
#15 /var/www/html/w/includes/Output/OutputPage.php(3193): Skin->outputPageFinal(MediaWiki\Output\OutputPage)
#16 /var/www/html/w/includes/actions/ActionEntryPoint.php(163): MediaWiki\Output\OutputPage->output(bool)
#17 /var/www/html/w/includes/MediaWikiEntryPoint.php(200): MediaWiki\Actions\ActionEntryPoint->execute()
#18 /var/www/html/w/index.php(62): MediaWiki\MediaWikiEntryPoint->run()
#19 {main}

or

[rdbms] Expectation (masterConns <= 0) by MediaWiki\MediaWikiEntryPoint::restInPeace not met (actual: 1):
[connect to sql-mariadb-primary.default.svc.cluster.local ()]

#0 /var/www/html/w/includes/libs/rdbms/TransactionProfiler.php(269): Wikimedia\Rdbms\TransactionProfiler->reportExpectationViolated(string, string, int)
#1 /var/www/html/w/includes/libs/rdbms/loadbalancer/LoadBalancer.php(807): Wikimedia\Rdbms\TransactionProfiler->recordConnection(string, null, bool)
#2 /var/www/html/w/includes/libs/rdbms/loadmonitor/LoadMonitor.php(244): Wikimedia\Rdbms\LoadBalancer->getServerConnection(int, string, int)
#3 /var/www/html/w/includes/libs/rdbms/loadmonitor/LoadMonitor.php(186): Wikimedia\Rdbms\LoadMonitor->computeServerState(int, array)
#4 /var/www/html/w/includes/libs/objectcache/WANObjectCache.php(1809): Wikimedia\Rdbms\LoadMonitor->Wikimedia\Rdbms\{closure}(array, int, array, float, array)
#5 /var/www/html/w/includes/libs/objectcache/WANObjectCache.php(2712): Wikimedia\ObjectCache\WANObjectCache->fetchOrRegenerate(string, int, Closure, array, array)
#6 /var/www/html/w/includes/deferred/MWCallableUpdate.php(52): Wikimedia\ObjectCache\WANObjectCache->Wikimedia\ObjectCache\{closure}(string)
#7 /var/www/html/w/includes/deferred/DeferredUpdates.php(460): MediaWiki\Deferred\MWCallableUpdate->doUpdate()
#8 /var/www/html/w/includes/deferred/DeferredUpdates.php(204): MediaWiki\Deferred\DeferredUpdates::attemptUpdate(MediaWiki\Deferred\MWCallableUpdate)
#9 /var/www/html/w/includes/deferred/DeferredUpdates.php(291): MediaWiki\Deferred\DeferredUpdates::run(MediaWiki\Deferred\MWCallableUpdate)
#10 /var/www/html/w/includes/deferred/DeferredUpdatesScope.php(243): MediaWiki\Deferred\DeferredUpdates::MediaWiki\Deferred\{closure}(MediaWiki\Deferred\MWCallableUpdate, int)
#11 /var/www/html/w/includes/deferred/DeferredUpdatesScope.php(172): MediaWiki\Deferred\DeferredUpdatesScope->processStageQueue(int, int, Closure)
#12 /var/www/html/w/includes/deferred/DeferredUpdates.php(310): MediaWiki\Deferred\DeferredUpdatesScope->processUpdates(int, Closure)
#13 /var/www/html/w/includes/MediaWikiEntryPoint.php(674): MediaWiki\Deferred\DeferredUpdates::doUpdates()
#14 /var/www/html/w/includes/MediaWikiEntryPoint.php(496): MediaWiki\MediaWikiEntryPoint->restInPeace()
#15 /var/www/html/w/includes/MediaWikiEntryPoint.php(454): MediaWiki\MediaWikiEntryPoint->doPostOutputShutdown()
#16 /var/www/html/w/includes/MediaWikiEntryPoint.php(209): MediaWiki\MediaWikiEntryPoint->postOutputShutdown()
#17 /var/www/html/w/api.php(48): MediaWiki\MediaWikiEntryPoint->run()
#18 {main}

From what I can tell this is particularly noticeable with $wgParserCacheType = CACHE_DB or similar.

Previously I suspect we were happily silencing these errors (and perhaps there were also fewer of them) since they were nicely confined to the DBPerformance group but now they are mixed in with the generic rdbms group since T320873 and I don't think we want to silence the whole group.

I'm also wondering if there was some regression of T154424 but I'm fairly out of my depth now.

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript
Tarrow renamed this task from Reduce in TransactionProfiler Logspam in 3rd Party installations since updating to MW 1.43 to Reduce TransactionProfiler Logspam in 3rd Party installations since updating to MW 1.43.Dec 11 2025, 3:39 PM