Page MenuHomePhabricator

Wikimedia\Rdbms\Database::assertValidUpsertSetArray called with redundant assignment to column 'gelr_revision'
Closed, ResolvedPublicPRODUCTION ERROR

Description

Error
normalized_message
Wikimedia\Rdbms\Database::assertValidUpsertSetArray called with redundant assignment to column 'gelr_revision'
exception.trace
from /srv/mediawiki/php-1.37.0-wmf.20/includes/libs/rdbms/database/Database.php(2366)
#0 /srv/mediawiki/php-1.37.0-wmf.20/includes/libs/rdbms/database/Database.php(3566): Wikimedia\Rdbms\Database->assertValidUpsertSetArray(array, array, array)
#1 /srv/mediawiki/php-1.37.0-wmf.20/includes/libs/rdbms/database/DBConnRef.php(68): Wikimedia\Rdbms\Database->upsert(string, array, string, array, string)
#2 /srv/mediawiki/php-1.37.0-wmf.20/includes/libs/rdbms/database/DBConnRef.php(512): Wikimedia\Rdbms\DBConnRef->__call(string, array)
#3 /srv/mediawiki/php-1.37.0-wmf.20/extensions/GrowthExperiments/includes/NewcomerTasks/AddLink/LinkRecommendationStore.php(218): Wikimedia\Rdbms\DBConnRef->upsert(string, array, string, array, string)
#4 /srv/mediawiki/php-1.37.0-wmf.20/extensions/GrowthExperiments/includes/NewcomerTasks/AddLink/LinkRecommendationUpdater.php(142): GrowthExperiments\NewcomerTasks\AddLink\LinkRecommendationStore->insert(GrowthExperiments\NewcomerTasks\AddLink\LinkRecommendation)
#5 /srv/mediawiki/php-1.37.0-wmf.20/extensions/GrowthExperiments/maintenance/refreshLinkRecommendations.php(281): GrowthExperiments\NewcomerTasks\AddLink\LinkRecommendationUpdater->processCandidate(Title, boolean)
#6 /srv/mediawiki/php-1.37.0-wmf.20/extensions/GrowthExperiments/maintenance/refreshLinkRecommendations.php(162): GrowthExperiments\Maintenance\RefreshLinkRecommendations->processCandidate(Title, boolean)
#7 /srv/mediawiki/php-1.37.0-wmf.20/maintenance/doMaintenance.php(108): GrowthExperiments\Maintenance\RefreshLinkRecommendations->execute()
#8 /srv/mediawiki/php-1.37.0-wmf.20/extensions/GrowthExperiments/maintenance/refreshLinkRecommendations.php(309): require_once(string)
#9 /srv/mediawiki/multiversion/MWScript.php(116): require_once(string)
#10 {main}
Impact

A link recommendation is not saved to the database when this error occurs.

Notes

This occurs in the refreshLinkRecommendations maintenance script, so not user facing and could wait until Monday for a backport.

Event Timeline

kostajh triaged this task as High priority.

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

[mediawiki/extensions/GrowthExperiments@master] Fix Database::upsert in LinkRecommendationStore

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

Apparently the warning was added last week in rMWacd3a5379959: rdbms: add unique key checks to upsert() and replace() in Database. (There is also an exception, but this was the warning branch, so no impact beyond logspam.)

Was rMWacd3a5379959: rdbms: add unique key checks to upsert() and replace() in Database reverted? I don't see why there would be such a sharp drop off (but also, these messages haven't been eliminated)

image.png (786×1 px, 154 KB)

For the last 24 hours (the latest timestamp Sep 2, 2021 @ 23:48:42.345) there were 134 warnings recorded in the logstash.

Change 715783 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] Fix Database::upsert with ::replace in LinkRecommendationStore

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

Umherirrender claimed this task.