Page MenuHomePhabricator

ContentTranslation: Error: 1062 Duplicate entry '....' for key 'cx_corpora_unique'
Closed, ResolvedPublic

Description

This error is frequently seen in ContentTranslation log at logstash/kibana:

Error

message
A database query error has occurred. Did you forget to run your application's database schema updater after upgrading? 
Query: INSERT INTO `cx_corpora` (cxc_translation_id,cxc_section_id,cxc_origin,cxc_sequence_id,cxc_timestamp,cxc_content) VALUES (…,'20200622060606','<section rel=\"cx:Section\" …')
Function: ContentTranslation\TranslationStorageManager::create
Error: 1062 Duplicate entry '…' for key 'cx_corpora_unique' (10.64.32.11)
trace
#0 /srv/mediawiki/php-1.35.0-wmf.37/includes/libs/rdbms/database/Database.php(1663): Wikimedia\Rdbms\Database->getQueryException(string, integer, string, string)
#1 /srv/mediawiki/php-1.35.0-wmf.37/includes/libs/rdbms/database/Database.php(1640): Wikimedia\Rdbms\Database->getQueryExceptionAndLog(string, integer, string, string)
#2 /srv/mediawiki/php-1.35.0-wmf.37/includes/libs/rdbms/database/Database.php(1215): Wikimedia\Rdbms\Database->reportQueryError(string, integer, string, string, boolean)
#3 /srv/mediawiki/php-1.35.0-wmf.37/includes/libs/rdbms/database/Database.php(2302): Wikimedia\Rdbms\Database->query(string, string, integer)
#4 /srv/mediawiki/php-1.35.0-wmf.37/includes/libs/rdbms/database/Database.php(2283): Wikimedia\Rdbms\Database->doInsert(string, array, string)
#5 /srv/mediawiki/php-1.35.0-wmf.37/extensions/ContentTranslation/includes/TranslationStorageManager.php(64): Wikimedia\Rdbms\Database->insert(string, array, string)
#6 /srv/mediawiki/php-1.35.0-wmf.37/extensions/ContentTranslation/includes/TranslationStorageManager.php(151): ContentTranslation\TranslationStorageManager::create(Wikimedia\Rdbms\DatabaseMysqli, ContentTranslation\TranslationUnit)
#7 /srv/mediawiki/php-1.35.0-wmf.37/includes/libs/rdbms/database/Database.php(4264): ContentTranslation\TranslationStorageManager::ContentTranslation\{closure}(Wikimedia\Rdbms\DatabaseMysqli, string)
#8 /srv/mediawiki/php-1.35.0-wmf.37/includes/libs/rdbms/database/DBConnRef.php(68): Wikimedia\Rdbms\Database->doAtomicSection(string, Closure)
#9 /srv/mediawiki/php-1.35.0-wmf.37/includes/libs/rdbms/database/DBConnRef.php(641): Wikimedia\Rdbms\DBConnRef->__call(string, array)
#10 /srv/mediawiki/php-1.35.0-wmf.37/extensions/ContentTranslation/includes/TranslationStorageManager.php(153): Wikimedia\Rdbms\DBConnRef->doAtomicSection(string, Closure)
#11 /srv/mediawiki/php-1.35.0-wmf.37/extensions/ContentTranslation/api/ApiContentTranslationSave.php(225): ContentTranslation\TranslationStorageManager::save(ContentTranslation\TranslationUnit, boolean)
#12 /srv/mediawiki/php-1.35.0-wmf.37/extensions/ContentTranslation/api/ApiContentTranslationSave.php(72): ApiContentTranslationSave->saveTranslationUnits(array, ContentTranslation\Translation)
#13 /srv/mediawiki/php-1.35.0-wmf.37/includes/api/ApiMain.php(1585): ApiContentTranslationSave->execute()
#14 /srv/mediawiki/php-1.35.0-wmf.37/includes/api/ApiMain.php(525): ApiMain->executeAction()
#15 /srv/mediawiki/php-1.35.0-wmf.37/includes/api/ApiMain.php(496): ApiMain->executeActionWithErrorHandling()
#16 /srv/mediawiki/php-1.35.0-wmf.37/api.php(84): ApiMain->execute()
#17 /srv/mediawiki/w/api.php(3): require(string)
#18 {main}

Impact

User is sometimes unable to save their translation due to a bad database "Insert" query.

Event Timeline

This has 2 occurrence in last 7 days.

Recently seen at 2020-09-19T20:28:30

Error 1062: Duplicate entry '…-user-CX_CATEGORY_METADATA-…' for key 'cx_corpora_unique'
Function: ContentTranslation\CategoriesStorageManager::create
Query: INSERT INTO `cx_corpora` (cxc_origin,cxc_content,cxc_translation_id,cxc_timestamp,cxc_section_id) VALUES ('user','[]', … )
Krinkle triaged this task as Medium priority.Sep 22 2020, 3:20 PM
This comment was removed by Krinkle.

No longer seen. However there are now various deadlocks from this query instead, which may be worth looking into. (query).