Page MenuHomePhabricator

internal_api_error_DBQueryError when mass undeleting files on betacommons
Open, Needs TriagePublic

Description

See https://commons.wikimedia.beta.wmflabs.org/wiki/Commons:Deletion_requests/Files_uploaded_by_AJ

When undeleting the 27 files with a delay of:

  • 50ms: 23 files remained deleted.
  • 300ms: 8 files remained deleted.
  • 600ms: 1 file remained deleted.
  • 800ms: all 27 files were restored successfully.

I can't test more delay values in between because once again, betacommons is down. I haven't noticed anything like this when mass-deleting the same files, that always seems so work without a hitch.

This was the error:

{"JSON":{"error":{"code":"internal_api_error_DBQueryError","info":"[XmU08KwQBHcAAHIkBzcAAACB] Exception caught: A database query error has occurred. This may indicate a bug in the software.","errorclass":"Wikimedia\\Rdbms\\DBQueryError","*":"Wikimedia\\Rdbms\\DBQueryError at /srv/mediawiki/php-master/includes/libs/rdbms/database/Database.php(1630)\n#0 /srv/mediawiki/php-master/includes/libs/rdbms/database/Database.php(1614): Wikimedia\\Rdbms\\Database->getQueryException(string, integer, string, string)\n#1 /srv/mediawiki/php-master/includes/libs/rdbms/database/Database.php(1591): Wikimedia\\Rdbms\\Database->getQueryExceptionAndLog(string, integer, string, string)\n#2 /srv/mediawiki/php-master/includes/libs/rdbms/database/Database.php(1170): Wikimedia\\Rdbms\\Database->reportQueryError(string, integer, string, string, boolean)\n#3 /srv/mediawiki/php-master/includes/libs/rdbms/database/Database.php(2180): Wikimedia\\Rdbms\\Database->query(string, string)\n#4 /srv/mediawiki/php-master/includes/libs/rdbms/database/DBConnRef.php(68): Wikimedia\\Rdbms\\Database->insert(string, array, string)\n#5 /srv/mediawiki/php-master/includes/libs/rdbms/database/DBConnRef.php(378): Wikimedia\\Rdbms\\DBConnRef->__call(string, array)\n#6 /srv/mediawiki/php-master/includes/filerepo/file/LocalFileRestoreBatch.php(307): Wikimedia\\Rdbms\\DBConnRef->insert(string, array, string)\n#7 /srv/mediawiki/php-master/includes/filerepo/file/LocalFile.php(2041): LocalFileRestoreBatch->execute()\n#8 /srv/mediawiki/php-master/includes/page/PageArchive.php(427): LocalFile->restore(NULL, boolean)\n#9 /srv/mediawiki/php-master/includes/api/ApiUndelete.php(74): PageArchive->undelete(array, string, NULL, boolean, User, NULL)\n#10 /srv/mediawiki/php-master/includes/api/ApiMain.php(1590): ApiUndelete->execute()\n#11 /srv/mediawiki/php-master/includes/api/ApiMain.php(522): ApiMain->executeAction()\n#12 /srv/mediawiki/php-master/includes/api/ApiMain.php(493): ApiMain->executeActionWithErrorHandling()\n#13 /srv/mediawiki/php-master/api.php(84): ApiMain->execute()\n#14 /srv/mediawiki/w/api.php(3): require(string)\n#15 {main}"},"servedby":"deployment-mediawiki-07"},"Response payload":{"EDITOR_CONFIG":{"text":"{\"error\":{\"code\":\"internal_api_error_DBQueryError\",\"info\":\"[XmU08KwQBHcAAHIkBzcAAACB] Exception caught: A database query error has occurred. This may indicate a bug in the software.\",\"errorclass\":\"Wikimedia\\\\Rdbms\\\\DBQueryError\",\"*\":\"Wikimedia\\\\Rdbms\\\\DBQueryError at /srv/mediawiki/php-master/includes/libs/rdbms/database/Database.php(1630)\\n#0 /srv/mediawiki/php-master/includes/libs/rdbms/database/Database.php(1614): Wikimedia\\\\Rdbms\\\\Database->getQueryException(string, integer, string, string)\\n#1 /srv/mediawiki/php-master/includes/libs/rdbms/database/Database.php(1591): Wikimedia\\\\Rdbms\\\\Database->getQueryExceptionAndLog(string, integer, string, string)\\n#2 /srv/mediawiki/php-master/includes/libs/rdbms/database/Database.php(1170): Wikimedia\\\\Rdbms\\\\Database->reportQueryError(string, integer, string, string, boolean)\\n#3 /srv/mediawiki/php-master/includes/libs/rdbms/database/Database.php(2180): Wikimedia\\\\Rdbms\\\\Database->query(string, string)\\n#4 /srv/mediawiki/php-master/includes/libs/rdbms/database/DBConnRef.php(68): Wikimedia\\\\Rdbms\\\\Database->insert(string, array, string)\\n#5 /srv/mediawiki/php-master/includes/libs/rdbms/database/DBConnRef.php(378): Wikimedia\\\\Rdbms\\\\DBConnRef->__call(string, array)\\n#6 /srv/mediawiki/php-master/includes/filerepo/file/LocalFileRestoreBatch.php(307): Wikimedia\\\\Rdbms\\\\DBConnRef->insert(string, array, string)\\n#7 /srv/mediawiki/php-master/includes/filerepo/file/LocalFile.php(2041): LocalFileRestoreBatch->execute()\\n#8 /srv/mediawiki/php-master/includes/page/PageArchive.php(427): LocalFile->restore(NULL, boolean)\\n#9 /srv/mediawiki/php-master/includes/api/ApiUndelete.php(74): PageArchive->undelete(array, string, NULL, boolean, User, NULL)\\n#10 /srv/mediawiki/php-master/includes/api/ApiMain.php(1590): ApiUndelete->execute()\\n#11 /srv/mediawiki/php-master/includes/api/ApiMain.php(522): ApiMain->executeAction()\\n#12 /srv/mediawiki/php-master/includes/api/ApiMain.php(493): ApiMain->executeActionWithErrorHandling()\\n#13 /srv/mediawiki/php-master/api.php(84): ApiMain->execute()\\n#14 /srv/mediawiki/w/api.php(3): require(string)\\n#15 {main}\"},\"servedby\":\"deployment-mediawiki-07\"}","mode":"application/json"}}}