Page MenuHomePhabricator

⬆️ Fix Query Service in MediaWiki 1.43
Closed, ResolvedPublic

Description

Investigate why queries are returning 0 triples for queryservices running on MW 1.43.

See for example: https://tarrow-143-test1.wikibase.dev/query/#select%20%2a%20where%20%7B%3Fa%20%3Fb%20%3Fc%7D

It's highly likely that the necessary logic to trigger the updater to run isn't happening. We can see if running: QsBatch::where('wiki_id', 171)->get() we get no results.

Useful docs:

Event Timeline

dang removed dang as the assignee of this task.Oct 20 2025, 9:27 AM
dang subscribed.

I took a very first rough glance at this to try and confirm if it was a one off issues or reproducible. I looked at a test Wikibase and created a single item.

One would then expect some queries to be returned with the following query yet none are: https://tarrow-143-test1.wikibase.dev/query/#select%20%2a%20where%20%7B%3Fa%20%3Fb%20%3Fc%7D

Took a look in the staging logs after creating an item. I saw this red flag:

[exception] [ccacb373b9409c788d0ece91] /wiki/Special:NewItem   Error: Call to undefined method MWHttpRequest::factory()
#0 /var/www/html/w/includes/deferred/MWCallableUpdate.php(52): WBStackPageUpdateHandler::{closure}(string)
#1 /var/www/html/w/includes/deferred/DeferredUpdates.php(460): MediaWiki\Deferred\MWCallableUpdate->doUpdate()
#2 /var/www/html/w/includes/deferred/DeferredUpdates.php(204): MediaWiki\Deferred\DeferredUpdates::attemptUpdate(MediaWiki\Deferred\MWCallableUpdate)
#3 /var/www/html/w/includes/deferred/DeferredUpdates.php(291): MediaWiki\Deferred\DeferredUpdates::run(MediaWiki\Deferred\MWCallableUpdate)
#4 /var/www/html/w/includes/deferred/DeferredUpdatesScope.php(243): MediaWiki\Deferred\DeferredUpdates::MediaWiki\Deferred\{closure}(MediaWiki\Deferred\MWCallableUpdate, int)
#5 /var/www/html/w/includes/deferred/DeferredUpdatesScope.php(172): MediaWiki\Deferred\DeferredUpdatesScope->processStageQueue(int, int, Closure)
#6 /var/www/html/w/includes/deferred/DeferredUpdates.php(310): MediaWiki\Deferred\DeferredUpdatesScope->processUpdates(int, Closure)
#7 /var/www/html/w/includes/MediaWikiEntryPoint.php(674): MediaWiki\Deferred\DeferredUpdates::doUpdates()
#8 /var/www/html/w/includes/MediaWikiEntryPoint.php(496): MediaWiki\MediaWikiEntryPoint->restInPeace()
#9 /var/www/html/w/includes/MediaWikiEntryPoint.php(454): MediaWiki\MediaWikiEntryPoint->doPostOutputShutdown()
#10 /var/www/html/w/includes/MediaWikiEntryPoint.php(209): MediaWiki\MediaWikiEntryPoint->postOutputShutdown()
#11 /var/www/html/w/index.php(62): MediaWiki\MediaWikiEntryPoint->run()
#12 {main}

alongside:

[DeferredUpdates] Deferred update 'MediaWiki\Deferred\MWCallableUpdate_WBStackPageUpdateHandler::scheduleDeferredUpdateIfNeeded' failed to run.
#0 /var/www/html/w/includes/deferred/MWCallableUpdate.php(52): WBStackPageUpdateHandler::{closure}(string)
#1 /var/www/html/w/includes/deferred/DeferredUpdates.php(460): MediaWiki\Deferred\MWCallableUpdate->doUpdate()
#2 /var/www/html/w/includes/deferred/DeferredUpdates.php(204): MediaWiki\Deferred\DeferredUpdates::attemptUpdate(MediaWiki\Deferred\MWCallableUpdate)
#3 /var/www/html/w/includes/deferred/DeferredUpdates.php(291): MediaWiki\Deferred\DeferredUpdates::run(MediaWiki\Deferred\MWCallableUpdate)
#4 /var/www/html/w/includes/deferred/DeferredUpdatesScope.php(243): MediaWiki\Deferred\DeferredUpdates::MediaWiki\Deferred\{closure}(MediaWiki\Deferred\MWCallableUpdate, int)
#5 /var/www/html/w/includes/deferred/DeferredUpdatesScope.php(172): MediaWiki\Deferred\DeferredUpdatesScope->processStageQueue(int, int, Closure)
#6 /var/www/html/w/includes/deferred/DeferredUpdates.php(310): MediaWiki\Deferred\DeferredUpdatesScope->processUpdates(int, Closure)
#7 /var/www/html/w/includes/MediaWikiEntryPoint.php(674): MediaWiki\Deferred\DeferredUpdates::doUpdates()
#8 /var/www/html/w/includes/MediaWikiEntryPoint.php(496): MediaWiki\MediaWikiEntryPoint->restInPeace()
#9 /var/www/html/w/includes/MediaWikiEntryPoint.php(454): MediaWiki\MediaWikiEntryPoint->doPostOutputShutdown()
#10 /var/www/html/w/includes/MediaWikiEntryPoint.php(209): MediaWiki\MediaWikiEntryPoint->postOutputShutdown()
#11 /var/www/html/w/index.php(62): MediaWiki\MediaWikiEntryPoint->run()
#12 {main}

Seems like this is mentioned in the release notes for 1.41: MWHttpRequest::factory(), deprecated since 1.34, has been removed.

In the handy dandy notes for 1.34: MWHttpRequest::factory is deprecated. Use HttpRequestFactory.

Well, I now see triples in https://tarrow-143-test1.wikibase.dev/query/#select%20%2a%20where%20%7B%3Fa%20%3Fb%20%3Fc%7D%20%23bust-cache !

I also see QsBatches in QsBatch::where('wiki_id', 171)->get() so I believe this can be considered fixed.