ExternalStoreDB::batchFetchBlobs, used in all ExternalStore requests, falls back to the primary connection when the blobs are not found for some of the provided IDs. Callers have no control over this whatsoever. On GET requests it triggers warnings like the one above.
Either callers should be able to control this behavior or it should suppress warnings.
Example
- mwversion: 1.37.0-wmf.3
- reqId: cb9e15ca-2ae9-4c28-9ec6-5c19500be524
- Find reqId in Logstash
- Find normalized_message in Logstash
Expectation (masterConns <=) 0 by MediaWiki::main not met (actual: {actual}):
{query}from /srv/mediawiki/php-1.37.0-wmf.3/includes/libs/rdbms/TransactionProfiler.php(432)
#0 /srv/mediawiki/php-1.37.0-wmf.3/includes/libs/rdbms/TransactionProfiler.php(212): Wikimedia\Rdbms\TransactionProfiler->reportExpectationViolated(string, string, integer)
#1 /srv/mediawiki/php-1.37.0-wmf.3/includes/libs/rdbms/loadbalancer/LoadBalancer.php(1008): Wikimedia\Rdbms\TransactionProfiler->recordConnection(string, string, boolean)
#2 /srv/mediawiki/php-1.37.0-wmf.3/includes/libs/rdbms/loadbalancer/LoadBalancer.php(962): Wikimedia\Rdbms\LoadBalancer->getServerConnection(integer, string, integer)
#3 /srv/mediawiki/php-1.37.0-wmf.3/includes/libs/rdbms/loadbalancer/LoadBalancer.php(1128): Wikimedia\Rdbms\LoadBalancer->getConnection(integer, array, string, integer)
#4 /srv/mediawiki/php-1.37.0-wmf.3/includes/externalstore/ExternalStoreDB.php(197): Wikimedia\Rdbms\LoadBalancer->getMaintenanceConnectionRef(integer, array, string, integer)
#5 /srv/mediawiki/php-1.37.0-wmf.3/includes/externalstore/ExternalStoreDB.php(370): ExternalStoreDB->getMaster(string)
#6 /srv/mediawiki/php-1.37.0-wmf.3/includes/externalstore/ExternalStoreDB.php(95): ExternalStoreDB->batchFetchBlobs(string, array)
#7 /srv/mediawiki/php-1.37.0-wmf.3/includes/externalstore/ExternalStoreAccess.php(70): ExternalStoreDB->batchFetchFromURLs(array)
#8 /srv/mediawiki/php-1.37.0-wmf.3/includes/externalstore/ExternalStore.php(120): ExternalStoreAccess->fetchFromURLs(array)
#9 /srv/mediawiki/php-1.37.0-wmf.3/extensions/Flow/includes/Data/Utils/Merger.php(79): ExternalStore::batchFetchFromURLs(array)
#10 /srv/mediawiki/php-1.37.0-wmf.3/extensions/Flow/includes/Data/Storage/RevisionStorage.php(350): Flow\Data\Utils\Merger::mergeMulti(array, string, array, string, string)
#11 /srv/mediawiki/php-1.37.0-wmf.3/extensions/Flow/includes/Data/Storage/RevisionStorage.php(174): Flow\Data\Storage\RevisionStorage::mergeExternalContent(array)
#12 /srv/mediawiki/php-1.37.0-wmf.3/extensions/Flow/includes/Data/Index/FeatureIndex.php(468): Flow\Data\Storage\RevisionStorage->findMulti(array, array)
#13 /srv/mediawiki/php-1.37.0-wmf.3/extensions/Flow/includes/Data/Index/FeatureIndex.php(282): Flow\Data\Index\FeatureIndex->backingStoreFindMulti(array)
#14 /srv/mediawiki/php-1.37.0-wmf.3/extensions/Flow/includes/Data/ObjectLocator.php(95): Flow\Data\Index\FeatureIndex->findMulti(array, array)
#15 /srv/mediawiki/php-1.37.0-wmf.3/extensions/Flow/includes/Data/ObjectLocator.php(212): Flow\Data\ObjectLocator->findMulti(array)
#16 /srv/mediawiki/php-1.37.0-wmf.3/extensions/Flow/includes/Data/ManagerGroup.php(127): Flow\Data\ObjectLocator->getMulti(array)
#17 /srv/mediawiki/php-1.37.0-wmf.3/extensions/Flow/includes/Data/ManagerGroup.php(135): Flow\Data\ManagerGroup->call(string, array)
#18 /srv/mediawiki/php-1.37.0-wmf.3/extensions/Flow/includes/Formatter/ChangesListQuery.php(86): Flow\Data\ManagerGroup->getMulti(string, array)
#19 /srv/mediawiki/php-1.37.0-wmf.3/extensions/Flow/includes/Hooks.php(384): Flow\Formatter\ChangesListQuery->loadMetadataBatch(Wikimedia\Rdbms\ResultWrapper, boolean)
#20 /srv/mediawiki/php-1.37.0-wmf.3/includes/HookContainer/HookContainer.php(330): Flow\Hooks::onChangesListInitRows(OldChangesList, Wikimedia\Rdbms\ResultWrapper)
#21 /srv/mediawiki/php-1.37.0-wmf.3/includes/HookContainer/HookContainer.php(137): MediaWiki\HookContainer\HookContainer->callLegacyHook(string, array, array, array)
#22 /srv/mediawiki/php-1.37.0-wmf.3/includes/HookContainer/HookRunner.php(1173): MediaWiki\HookContainer\HookContainer->run(string, array)
#23 /srv/mediawiki/php-1.37.0-wmf.3/includes/changes/ChangesList.php(323): MediaWiki\HookContainer\HookRunner->onChangesListInitRows(OldChangesList, Wikimedia\Rdbms\ResultWrapper)
#24 /srv/mediawiki/php-1.37.0-wmf.3/includes/specials/SpecialRecentChanges.php(461): ChangesList->initChangesListRows(Wikimedia\Rdbms\ResultWrapper)
#25 /srv/mediawiki/php-1.37.0-wmf.3/includes/specialpage/ChangesListSpecialPage.php(1682): SpecialRecentChanges->outputChangesList(Wikimedia\Rdbms\ResultWrapper, FormOptions)
#26 /srv/mediawiki/php-1.37.0-wmf.3/includes/specialpage/ChangesListSpecialPage.php(681): ChangesListSpecialPage->webOutput(Wikimedia\Rdbms\ResultWrapper, FormOptions)
#27 /srv/mediawiki/php-1.37.0-wmf.3/includes/specials/SpecialRecentChanges.php(203): ChangesListSpecialPage->execute(NULL)
#28 /srv/mediawiki/php-1.37.0-wmf.3/includes/specialpage/SpecialPage.php(646): SpecialRecentChanges->execute(NULL)
#29 /srv/mediawiki/php-1.37.0-wmf.3/includes/specialpage/SpecialPageFactory.php(1397): SpecialPage->run(NULL)
#30 /srv/mediawiki/php-1.37.0-wmf.3/includes/MediaWiki.php(313): MediaWiki\SpecialPage\SpecialPageFactory->executePath(string, RequestContext)
#31 /srv/mediawiki/php-1.37.0-wmf.3/includes/MediaWiki.php(916): MediaWiki->performRequest()
#32 /srv/mediawiki/php-1.37.0-wmf.3/includes/MediaWiki.php(550): MediaWiki->main()
#33 /srv/mediawiki/php-1.37.0-wmf.3/index.php(53): MediaWiki->run()
#34 /srv/mediawiki/php-1.37.0-wmf.3/index.php(46): wfIndexMain()
#35 /srv/mediawiki/w/index.php(3): require(string)
#36 {main}