Page MenuHomePhabricator

PHP Deprecated: ignored an error originally raised from WikiPage::insertOn (Lock wait timeout exceeded)
Closed, ResolvedPublicPRODUCTION ERROR

Description

Error
normalized_message
[{reqId}] {exception_url}   PHP Deprecated: Caller from Wikimedia\Rdbms\Database::ping ignored an error originally raised from WikiPage::insertOn: [1205] Lock wait timeout exceeded; try restarting transaction (db1100)
exception.trace
from /srv/mediawiki/php-1.37.0-wmf.6/includes/debug/MWDebug.php(376)
#0 [internal function]: MWExceptionHandler::handleError(integer, string, string, integer, array)
#1 /srv/mediawiki/php-1.37.0-wmf.6/includes/debug/MWDebug.php(376): trigger_error(string, integer)
#2 /srv/mediawiki/php-1.37.0-wmf.6/includes/db/MWLBFactory.php(447): MWDebug::sendRawDeprecated(string, boolean, string)
#3 [internal function]: MWLBFactory::logDeprecation(string)
#4 /srv/mediawiki/php-1.37.0-wmf.6/includes/libs/rdbms/database/Database.php(1579): call_user_func(array, string)
#5 /srv/mediawiki/php-1.37.0-wmf.6/includes/libs/rdbms/database/Database.php(1275): Wikimedia\Rdbms\Database->assertQueryIsCurrentlyAllowed(string, string)
#6 /srv/mediawiki/php-1.37.0-wmf.6/includes/libs/rdbms/database/Database.php(5021): Wikimedia\Rdbms\Database->query(string, string, integer)
#7 /srv/mediawiki/php-1.37.0-wmf.6/includes/libs/rdbms/database/Database.php(759): Wikimedia\Rdbms\Database->ping(NULL)
#8 /srv/mediawiki/php-1.37.0-wmf.6/includes/libs/rdbms/database/Database.php(747): Wikimedia\Rdbms\Database->pingAndCalculateLastTrxApplyTime()
#9 /srv/mediawiki/php-1.37.0-wmf.6/includes/libs/rdbms/loadbalancer/LoadBalancer.php(1752): Wikimedia\Rdbms\Database->pendingWriteQueryDuration(string)
#10 /srv/mediawiki/php-1.37.0-wmf.6/includes/libs/rdbms/loadbalancer/LoadBalancer.php(2256): Wikimedia\Rdbms\LoadBalancer::Wikimedia\Rdbms\{closure}(Wikimedia\Rdbms\DatabaseMysqli)
#11 /srv/mediawiki/php-1.37.0-wmf.6/includes/libs/rdbms/loadbalancer/LoadBalancer.php(1768): Wikimedia\Rdbms\LoadBalancer->forEachOpenMasterConnection(Closure)
#12 /srv/mediawiki/php-1.37.0-wmf.6/includes/libs/rdbms/lbfactory/LBFactory.php(249): Wikimedia\Rdbms\LoadBalancer->approveMasterChanges(array, string, integer)
#13 /srv/mediawiki/php-1.37.0-wmf.6/includes/libs/rdbms/lbfactory/LBFactoryMulti.php(236): Wikimedia\Rdbms\LBFactory::Wikimedia\Rdbms\{closure}(Wikimedia\Rdbms\LoadBalancer, string, array)
#14 /srv/mediawiki/php-1.37.0-wmf.6/includes/libs/rdbms/lbfactory/LBFactory.php(251): Wikimedia\Rdbms\LBFactoryMulti->forEachLB(Closure, array)
#15 /srv/mediawiki/php-1.37.0-wmf.6/includes/libs/rdbms/lbfactory/LBFactory.php(310): Wikimedia\Rdbms\LBFactory->forEachLBCallMethod(string, array)
#16 /srv/mediawiki/php-1.37.0-wmf.6/includes/MediaWiki.php(676): Wikimedia\Rdbms\LBFactory->commitMasterChanges(string, array)
#17 /srv/mediawiki/php-1.37.0-wmf.6/includes/api/ApiMain.php(665): MediaWiki::preOutputCommit(DerivativeContext)
#18 /srv/mediawiki/php-1.37.0-wmf.6/includes/api/ApiMain.php(610): ApiMain->executeActionWithErrorHandling()
#19 /srv/mediawiki/php-1.37.0-wmf.6/api.php(90): ApiMain->execute()
#20 /srv/mediawiki/php-1.37.0-wmf.6/api.php(45): wfApiMain()
#21 /srv/mediawiki/w/api.php(3): require(string)
#22 {main}
Impact

I guess NaN since that is merely a deprecation warning.

Notes

Details

Request URL
https://de.wikipedia.org/w/api.php

Event Timeline

Krinkle renamed this task from PHP Deprecated: Caller from Wikimedia\Rdbms\Database::ping ignored an error originally raised from WikiPage::insertOn: [1205] Lock wait timeout exceeded; try restarting transaction (db1100) to PHP Deprecated: ignored an error originally raised from WikiPage::insertOn (Lock wait timeout exceeded).May 20 2021, 8:52 PM
Krinkle added a project: Platform Engineering.
Krinkle added subscribers: daniel, Krinkle.

@daniel If this is new, it might be that refactoring in WikiPage has caused a new locking issue. Or (more likely) that a refactor caused more generally db errors to no longer be handled/caught correctly.

Still seen regularly.

The Logstash query "ignored an error originally raised from" AND ping seems to yield only cases that involfe WikiPage::insertOn.

[{reqId}] {exception_url} PHP Deprecated: Caller from Wikimedia\Rdbms\Database::ping ignored an error originally raised from WikiPage::insertOn: [1205] Lock wait timeout exceeded; try restarting transaction

Not seen for 30+ days under normalized_message:"PHP Deprecated" AND "ping"