Page MenuHomePhabricator

Database query errors while moving pages
Open, Stalled, Needs TriagePublicPRODUCTION ERROR

Description

Error
Database query errors while moving pages

Request ID: 7634cdf8-d2be-41e9-b42a-fa27815db1fb

trace
Impact
Notes

Details

MediaWiki Version
1.40.0-wmf.20 (212529a)
Request URL
https://en.wikipedia.org/wiki/Special:MovePage/User_talk:CrafterNova/Archive2022/March

Event Timeline

Reedy subscribed.

Do you have the actual error, or part of it? There's no details in your report (including the page name) that seem to find anything in the logs for today or yesterday...

Reedy changed the task status from Open to Stalled.Feb 1 2023, 4:22 PM

I found three messages in Logstash using the request ID, from 30 January: https://logstash.wikimedia.org/goto/8bf0cac7fdafb54c0326467d12843037

I find the timing of the messages quite confusing though. There are two from RunSingleJob.php at 14:03, and then one from /w/index.php?action=submit&title=Special:MovePage at 14:48, 45 minutes later?

There are these two warning associated to that request id. It really seems like the db connection somewhat randomly died. There are like ~100 of these kind of connection errors per day.

Expectation (writeQueryTime <= 1) by MediaWiki::main not met (actual: 16.392681837082) in trx #e3d310fa3a:
role-primary: INSERT INTO `redirect` (rd_from,rd_namespace,rd_title,rd_fragment,rd_interwiki) VALUES (N,...,N,'X'
	
from /srv/mediawiki/php-1.40.0-wmf.20/includes/libs/rdbms/TransactionProfiler.php(541)
#0 /srv/mediawiki/php-1.40.0-wmf.20/includes/libs/rdbms/TransactionProfiler.php(354): Wikimedia\Rdbms\TransactionProfiler->reportExpectationViolated(string, Wikimedia\Rdbms\GeneralizedSql, double, string, string)
#1 /srv/mediawiki/php-1.40.0-wmf.20/includes/libs/rdbms/database/TransactionManager.php(615): Wikimedia\Rdbms\TransactionProfiler->recordQueryCompletion(Wikimedia\Rdbms\GeneralizedSql, double, boolean, integer, string, string)
#2 /srv/mediawiki/php-1.40.0-wmf.20/includes/libs/rdbms/database/Database.php(1129): Wikimedia\Rdbms\TransactionManager->recordQueryCompletion(Wikimedia\Rdbms\GeneralizedSql, double, boolean, integer, string)
#3 /srv/mediawiki/php-1.40.0-wmf.20/includes/libs/rdbms/database/Database.php(1002): Wikimedia\Rdbms\Database->attemptQuery(array, array, string, string, boolean, boolean)
#4 /srv/mediawiki/php-1.40.0-wmf.20/includes/libs/rdbms/database/Database.php(856): Wikimedia\Rdbms\Database->executeQuery(string, string, integer, string)
#5 /srv/mediawiki/php-1.40.0-wmf.20/includes/libs/rdbms/database/DatabaseMysqlBase.php(587): Wikimedia\Rdbms\Database->query(string, string, integer)
#6 /srv/mediawiki/php-1.40.0-wmf.20/includes/libs/rdbms/database/Database.php(1886): Wikimedia\Rdbms\DatabaseMysqlBase->doUpsert(string, array, array, array, string)
#7 /srv/mediawiki/php-1.40.0-wmf.20/includes/libs/rdbms/database/DBConnRef.php(119): Wikimedia\Rdbms\Database->upsert(string, array, string, array, string)
#8 /srv/mediawiki/php-1.40.0-wmf.20/includes/libs/rdbms/database/DBConnRef.php(546): Wikimedia\Rdbms\DBConnRef->__call(string, array)
#9 /srv/mediawiki/php-1.40.0-wmf.20/includes/page/WikiPage.php(1141): Wikimedia\Rdbms\DBConnRef->upsert(string, array, string, array, string)
#10 /srv/mediawiki/php-1.40.0-wmf.20/includes/page/WikiPage.php(1539): WikiPage->insertRedirectEntry(Title)
#11 /srv/mediawiki/php-1.40.0-wmf.20/includes/page/WikiPage.php(1498): WikiPage->updateRedirectOn(Wikimedia\Rdbms\DBConnRef, Title, boolean)
#12 /srv/mediawiki/php-1.40.0-wmf.20/includes/Storage/PageUpdater.php(1529): WikiPage->updateRevisionOn(Wikimedia\Rdbms\DBConnRef, MediaWiki\Revision\RevisionStoreRecord, integer, boolean)
#13 /srv/mediawiki/php-1.40.0-wmf.20/includes/Storage/PageUpdater.php(939): MediaWiki\Storage\PageUpdater->doCreate(MediaWiki\CommentStore\CommentStoreComment)
#14 /srv/mediawiki/php-1.40.0-wmf.20/includes/MovePage.php(998): MediaWiki\Storage\PageUpdater->saveRevision(MediaWiki\CommentStore\CommentStoreComment)
#15 /srv/mediawiki/php-1.40.0-wmf.20/includes/MovePage.php(674): MovePage->moveToInternal(User, Title, string, boolean, array)
#16 /srv/mediawiki/php-1.40.0-wmf.20/includes/MovePage.php(521): MovePage->moveUnsafe(User, string, boolean, array)
#17 /srv/mediawiki/php-1.40.0-wmf.20/includes/specials/SpecialMovepage.php(776): MovePage->moveIfAllowed(User, string, boolean)
#18 /srv/mediawiki/php-1.40.0-wmf.20/includes/specials/SpecialMovepage.php(226): MovePageForm->doSubmit()
#19 /srv/mediawiki/php-1.40.0-wmf.20/includes/specialpage/SpecialPage.php(700): MovePageForm->execute(NULL)
#20 /srv/mediawiki/php-1.40.0-wmf.20/includes/specialpage/SpecialPageFactory.php(1458): SpecialPage->run(NULL)
#21 /srv/mediawiki/php-1.40.0-wmf.20/includes/MediaWiki.php(322): MediaWiki\SpecialPage\SpecialPageFactory->executePath(string, RequestContext)
#22 /srv/mediawiki/php-1.40.0-wmf.20/includes/MediaWiki.php(915): MediaWiki->performRequest()
#23 /srv/mediawiki/php-1.40.0-wmf.20/includes/MediaWiki.php(571): MediaWiki->main()
#24 /srv/mediawiki/php-1.40.0-wmf.20/index.php(50): MediaWiki->run()
#25 /srv/mediawiki/php-1.40.0-wmf.20/index.php(46): wfIndexMain()
#26 /srv/mediawiki/w/index.php(3): require(string)
#27 {main}
Sub-optimal transaction [enwiki db1118 TRX#e3d310fa3a]:
0  0.000s role-primary: SELECT page_latest FROM `page` WHERE page_id = N LIMIT N FOR UPDATE
1  0.000s role-primary: INSERT INTO `comment` (comment_hash,comment_text,comment_data) VALUES (N,'X',NULL)
2  0.002s role-primary: INSERT INTO `revision` (rev_page,rev_parent_id,rev_minor_edit,rev_timestamp,rev_deleted,rev_len,rev_sha1,rev_comment_id,rev_actor) VALUES (N,...,N,'X',N,...,N)
3  0.000s role-primary: INSERT INTO `revision_comment_temp` (revcomment_rev,revcomment_comment_id) VALUES (N,...,N)
4  0.000s role-primary: INSERT INTO `slots` (slot_revision_id,slot_role_id,slot_content_id,slot_origin) VALUES (N,...,N)
5  0.000s role-primary: UPDATE `page` SET page_latest = N,page_touched = 'X' WHERE page_id = N
6  0.000s role-primary: DELETE FROM `protected_titles` WHERE pt_namespace = N AND pt_title = 'X'
7  0.001s role-primary: INSERT IGNORE INTO `page` (page_namespace,page_title,page_is_redirect,page_is_new,page_random,page_touched,page_latest,page_len) VALUES (N,'X',N,...,N)
8  0.000s role-primary: INSERT INTO `revision` (rev_page,rev_parent_id,rev_minor_edit,rev_timestamp,rev_deleted,rev_len,rev_sha1,rev_comment_id,rev_actor) VALUES (N,...,N,'X',N,...,N)
9  0.000s role-primary: INSERT INTO `revision_comment_temp` (revcomment_rev,revcomment_comment_id) VALUES (N,...,N)
10 0.001s role-primary: INSERT INTO `blobs_cluster2N` (blob_text) VALUES ('X')
11 0.000s role-primary: INSERT INTO `text` (old_text,old_flags) VALUES ('X')
12 0.000s role-primary: INSERT INTO `content` (content_size,content_sha1,content_model,content_address) VALUES (N,'X')
13 0.000s role-primary: INSERT INTO `slots` (slot_revision_id,slot_role_id,slot_content_id,slot_origin) VALUES (N,...,N)
14 0.002s role-primary: UPDATE `page` SET page_latest = N,page_touched = 'X' WHERE page_id = N AND page_latest = N
15 16.393s role-primary: INSERT INTO `redirect` (rd_from,rd_namespace,rd_title,rd_fragment,rd_interwiki) VALUES (N,...,N,'X'

this was originally reported on the Wikimedia Community Discord Server. The other errors were
36cb9dfc-1c8c-4d9b-adb1-bf3260cd1c23
c51c6ef6-30a7-4d75-899b-438628c0b5c1
a95cc441-d4dd-4eef-83b9-0ef24c5fa434
(different pages)

Do you have the actual error, or part of it? There's no details in your report (including the page name) that seem to find anything in the logs for today or yesterday...

I encountered total 4 instances of this error 2 days ago. I couldn't gather anymore details about the errors, and I'm new to phabricator so there's lot of stuff I don't understand in these forms for creating tasks.

I know that errors like this one are common, but they are a little bit irritating while moving pages. Maybe the Media wiki code can be somehow improved so that these errors become less frequent? Any less frequency would be great.