Page MenuHomePhabricator

"Error: 1062 Duplicate entry '283-' for key 'Comments_Vote_user_id_index'"
Open, Needs TriagePublic

Description

i'm seeing stuff like:

[27f198e8769b68587601631c] /w/api.php   Wikimedia\Rdbms\DBQueryError from line 1603 of /srv/mediawiki/w/includes/libs/rdbms/database/Database.php: A database query error has occurred. Did you forget to run your application's database schema updater after upgrading? 
Query: INSERT  INTO `Comments_Vote` (Comment_Vote_id,Comment_Vote_actor,Comment_Vote_Score,Comment_Vote_Date,Comment_Vote_IP) VALUES ('283','818','1','2020-05-22 02:38:41','xxxx')
Function: Comment::vote
Error: 1062 Duplicate entry '283-' for key 'Comments_Vote_user_id_index' (dbt1.miraheze.org)

#0 /srv/mediawiki/w/includes/libs/rdbms/database/Database.php(1574): Wikimedia\Rdbms\Database->getQueryExceptionAndLog(string, integer, string, string)
#1 /srv/mediawiki/w/includes/libs/rdbms/database/Database.php(1152): Wikimedia\Rdbms\Database->reportQueryError(string, integer, string, string, boolean)
#2 /srv/mediawiki/w/includes/libs/rdbms/database/Database.php(2140): Wikimedia\Rdbms\Database->query(string, string)
#3 /srv/mediawiki/w/includes/libs/rdbms/database/DBConnRef.php(68): Wikimedia\Rdbms\Database->insert(string, array, string)
#4 /srv/mediawiki/w/includes/libs/rdbms/database/DBConnRef.php(371): Wikimedia\Rdbms\DBConnRef->__call(string, array)
#5 /srv/mediawiki/w/extensions/Comments/includes/Comment.php(636): Wikimedia\Rdbms\DBConnRef->insert(string, array, string)
#6 /srv/mediawiki/w/extensions/Comments/includes/api/CommentVoteAPI.php(19): Comment->vote(string)
#7 /srv/mediawiki/w/includes/api/ApiMain.php(1598): CommentVoteAPI->execute()
#8 /srv/mediawiki/w/includes/api/ApiMain.php(537): ApiMain->executeAction()
#9 /srv/mediawiki/w/includes/api/ApiMain.php(508): ApiMain->executeActionWithErrorHandling()
#10 /srv/mediawiki/w/api.php(87): ApiMain->execute()
#11 {main}

in the logs.

Event Timeline

Restricted Application added subscribers: RhinosF1, Aklapper. · View Herald Transcript
RhinosF1 moved this task from Backlog to Comments on the Social-Tools board.

Change 730252 had a related patch set uploaded (by Jack Phoenix; author: Jack Phoenix):

[mediawiki/extensions/Comments@master] Use Database#upsert instead of #insert or #update to avoid \"Duplicate entry 'X' for key 'Comments_Vote_user_id_index'\" errors on vote events

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

Seems to be a somewhat intermittent bug that's hard to reproduce...regardless, please do give the aforementioned patch a shot and see if it fixes the error.

@Paladox: Could you please answer the last comment? Thanks in advance!