Page MenuHomePhabricator

UnexpectedValueException: Wikimedia\Rdbms\InsertQueryBuilder::execute can't have empty $rows value (via ORES SqlScoreStorage)
Closed, ResolvedPublicPRODUCTION ERROR

Description

Error
labels.normalized_message
[{reqId}] {exception_url}   UnexpectedValueException: Wikimedia\Rdbms\InsertQueryBuilder::execute can't have empty $rows value
error.stack_trace
from /srv/mediawiki/php-1.43.0-wmf.3/includes/libs/rdbms/querybuilder/InsertQueryBuilder.php(324)
#0 /srv/mediawiki/php-1.43.0-wmf.3/extensions/ORES/includes/Storage/SqlScoreStorage.php(102): Wikimedia\Rdbms\InsertQueryBuilder->execute()
#1 /srv/mediawiki/php-1.43.0-wmf.3/extensions/ORES/includes/Services/FetchScoreJob.php(98): ORES\Storage\SqlScoreStorage->storeScores(array, Closure, array)
#2 /srv/mediawiki/php-1.43.0-wmf.3/extensions/EventBus/includes/JobExecutor.php(80): ORES\Services\FetchScoreJob->run()
#3 /srv/mediawiki/rpc/RunSingleJob.php(60): MediaWiki\Extension\EventBus\JobExecutor->execute(array)
#4 {main}
Impact
Notes

Noticing a number of these in 1.43.0-wmf.3 (T361397).

Related to T362901: UnexpectedValueException: Wikimedia\Rdbms\InsertQueryBuilder::execute can't have empty $rows value (via GlobalUsage)? This was masked on the MediaWiki New Errors ECS dashboard by the filter for that one.

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript

Change #1027247 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/ORES@master] Avoid empty insert in SqlScoreStorage::storeScores

https://gerrit.wikimedia.org/r/1027247

Change #1027247 merged by jenkins-bot:

[mediawiki/extensions/ORES@master] Avoid empty insert in SqlScoreStorage::storeScores

https://gerrit.wikimedia.org/r/1027247

Change #1028583 had a related patch set uploaded (by Zabe; author: Umherirrender):

[mediawiki/extensions/ORES@wmf/1.43.0-wmf.3] Avoid empty insert in SqlScoreStorage::storeScores

https://gerrit.wikimedia.org/r/1028583

Umherirrender renamed this task from UnexpectedValueException: Wikimedia\Rdbms\InsertQueryBuilder::execute can't have empty $rows value to UnexpectedValueException: Wikimedia\Rdbms\InsertQueryBuilder::execute can't have empty $rows value (via ORES SqlScoreStorage).May 7 2024, 6:27 PM

This time I have kept the task open to make it easier to spot that the expection is fixed, but there are still two duplicates reported.

Is there another process to avoid duplicates from exception without backporting? Backports are also a risk, so exceptions with low rate (as expected here) could be easier fixed by the next train, but it seems that makes more trouble.

There were like ~4000 of these within the last 3 hours. So the fix is backport-worthy for me.

Change #1028583 merged by jenkins-bot:

[mediawiki/extensions/ORES@wmf/1.43.0-wmf.3] Avoid empty insert in SqlScoreStorage::storeScores

https://gerrit.wikimedia.org/r/1028583

Mentioned in SAL (#wikimedia-operations) [2024-05-07T20:24:17Z] <zabe@deploy1002> Started scap: Backport for [[gerrit:1028583|Avoid empty insert in SqlScoreStorage::storeScores (T364218)]]

Mentioned in SAL (#wikimedia-operations) [2024-05-07T20:26:55Z] <zabe@deploy1002> zabe: Backport for [[gerrit:1028583|Avoid empty insert in SqlScoreStorage::storeScores (T364218)]] synced to the testservers (https://wikitech.wikimedia.org/wiki/Mwdebug)

Mentioned in SAL (#wikimedia-operations) [2024-05-07T20:40:18Z] <zabe@deploy1002> Finished scap: Backport for [[gerrit:1028583|Avoid empty insert in SqlScoreStorage::storeScores (T364218)]] (duration: 16m 01s)