Page MenuHomePhabricator

Database error while moving over redirect: Transaction exceeding the limit of 3 seconds
Open, Needs TriagePublicPRODUCTION ERROR

Description

Second similar error today. This is also the first time I've seen this error.

To avoid creating high replication lag, this transaction was aborted because the write duration (3.068653345108) exceeded the 3 second limit. If you are changing many items at once, try doing multiple smaller operations instead.

[XReuagpAMFgAAILDXVcAAAAJ] 2019-06-29 18:31:14: Fatal exception of type "Wikimedia\Rdbms\DBTransactionSizeError"
exception.file          /srv/mediawiki/php-1.34.0-wmf.11/includes/libs/rdbms/loadbalancer/LoadBalancer.php:1462
exception.message       Transaction spent 3.068653345108 second(s) in writes, exceeding the limit of 3
exception.trace
#0 /srv/mediawiki/php-1.34.0-wmf.11/includes/libs/rdbms/loadbalancer/LoadBalancer.php(1910): Closure$Wikimedia\Rdbms\LoadBalancer::approveMasterChanges(Wikimedia\Rdbms\DatabaseMysqli)
#1 /srv/mediawiki/php-1.34.0-wmf.11/includes/libs/rdbms/loadbalancer/LoadBalancer.php(1472): Wikimedia\Rdbms\LoadBalancer->forEachOpenMasterConnection(Closure$Wikimedia\Rdbms\LoadBalancer::approveMasterChanges;482)
#2 /srv/mediawiki/php-1.34.0-wmf.11/includes/libs/rdbms/lbfactory/LBFactory.php(230): Wikimedia\Rdbms\LoadBalancer->approveMasterChanges(array, string, integer)
#3 /srv/mediawiki/php-1.34.0-wmf.11/includes/libs/rdbms/lbfactory/LBFactoryMulti.php(401): Closure$Wikimedia\Rdbms\LBFactory::forEachLBCallMethod(Wikimedia\Rdbms\LoadBalancer, string, array)
#4 /srv/mediawiki/php-1.34.0-wmf.11/includes/libs/rdbms/lbfactory/LBFactory.php(233): Wikimedia\Rdbms\LBFactoryMulti->forEachLB(Closure$Wikimedia\Rdbms\LBFactory::forEachLBCallMethod;195, array)
#5 /srv/mediawiki/php-1.34.0-wmf.11/includes/libs/rdbms/lbfactory/LBFactory.php(281): Wikimedia\Rdbms\LBFactory->forEachLBCallMethod(string, array)
#6 /srv/mediawiki/php-1.34.0-wmf.11/includes/MediaWiki.php(596): Wikimedia\Rdbms\LBFactory->commitMasterChanges(string, array)
#7 /srv/mediawiki/php-1.34.0-wmf.11/includes/MediaWiki.php(566): MediaWiki::preOutputCommit(RequestContext, Closure$MediaWiki::main;391)
#8 /srv/mediawiki/php-1.34.0-wmf.11/includes/MediaWiki.php(900): MediaWiki->doPreOutputCommit(Closure$MediaWiki::main;391)
#9 /srv/mediawiki/php-1.34.0-wmf.11/includes/MediaWiki.php(515): MediaWiki->main()
#10 /srv/mediawiki/php-1.34.0-wmf.11/index.php(42): MediaWiki->run()
#11 /srv/mediawiki/w/index.php(3): include(string)
#12 {main}

Details

Request ID
XReuagpAMFgAAILDXVcAAAAJ

Event Timeline

Aklapper renamed this task from Database error while moving over redirect to Database error while moving over redirect: Transaction exceeding the limit of 3 seconds.Jul 11 2019, 10:37 PM
Aklapper updated the task description. (Show Details)

I've had a number of failed moves in the last few weeks - should they be reported each time?

mmodell changed the subtype of this task from "Task" to "Production Error".Aug 28 2019, 11:05 PM
RhinosF1 set Request ID to XReuagpAMFgAAILDXVcAAAAJ.Apr 18 2020, 9:18 AM
RhinosF1 edited Stack Trace. (Show Details)
RhinosF1 subscribed.
brennen subscribed.

Seeing a handful of these in 1.35.0-wmf.30:

brennen@mwlog1001:/srv/mw-log$ grep -ic 'DBTransactionSize' ./exception.log'
66
Krinkle subscribed.

DBTransactionSizeError is a type of error, much like "class not found", "HTTP 404" or "out of memory". This task specifically is about transaction errors from Special:MovePage as result of (presumed) slow insertion of redirects.

Logstash query for mediawiki-warnings:
message:DBTransactionSizeError AND url:*MovePage*

This yields 2 in the last 30 days.

Other outstanding production errors that are from MovePage and may be related to timeouts and lock contention: