Page MenuHomePhabricator

Warning: Destructor threw an object exception: exception 'Wikimedia\Rdbms\DBUnexpectedError' with message 'Wikimedia\Rdbms\Database::close: Expected mass commit of all peer transactions (DBO_TRX set).' in /srv/mediawiki/php-1.31.0-wmf.29/includes/libs/rdbms/database/Database.php:3602
Closed, ResolvedPublic

Description

Have only rolled out 1.31.0-wmf.29 to testwiki and already seeing this message at the top of logstash.

Stack trace:

#0 /srv/mediawiki/php-1.31.0-wmf.29/includes/libs/rdbms/database/Database.php(924): Wikimedia\Rdbms\Database->commit()
#1 /srv/mediawiki/php-1.31.0-wmf.29/includes/libs/rdbms/loadbalancer/LoadBalancer.php(1208): Wikimedia\Rdbms\Database->close()
#2 (): Closure$Wikimedia\Rdbms\LoadBalancer::closeAll()
#3 /srv/mediawiki/php-1.31.0-wmf.29/includes/libs/rdbms/loadbalancer/LoadBalancer.php(1631): call_user_func_array()
#4 /srv/mediawiki/php-1.31.0-wmf.29/includes/libs/rdbms/loadbalancer/LoadBalancer.php(1209): Wikimedia\Rdbms\LoadBalancer->forEachOpenConnection()
#5 /srv/mediawiki/php-1.31.0-wmf.29/includes/libs/rdbms/loadbalancer/LoadBalancer.php(1199): Wikimedia\Rdbms\LoadBalancer->closeAll()
#6 (): Wikimedia\Rdbms\LoadBalancer->disable()
#7 /srv/mediawiki/php-1.31.0-wmf.29/includes/libs/rdbms/lbfactory/LBFactory.php(196): call_user_func_array()
#8 (): Closure$Wikimedia\Rdbms\LBFactory::forEachLBCallMethod()
#9 /srv/mediawiki/php-1.31.0-wmf.29/includes/libs/rdbms/lbfactory/LBFactoryMulti.php(425): call_user_func_array()
#10 /srv/mediawiki/php-1.31.0-wmf.29/includes/libs/rdbms/lbfactory/LBFactory.php(199): Wikimedia\Rdbms\LBFactoryMulti->forEachLB()
#11 /srv/mediawiki/php-1.31.0-wmf.29/includes/libs/rdbms/lbfactory/LBFactory.php(143): Wikimedia\Rdbms\LBFactory->forEachLBCallMethod()
#12 /srv/mediawiki/php-1.31.0-wmf.29/includes/libs/rdbms/lbfactory/LBFactory.php(607): Wikimedia\Rdbms\LBFactory->destroy()
#13 (): Wikimedia\Rdbms\LBFactory->__destruct()
#14 {main}

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald TranscriptApr 10 2018, 7:54 PM
thcipriani triaged this task as Unbreak Now! priority.

Added at 1.31.0-wmf.29 blocker, setting to UBN!

Restricted Application added subscribers: Liuxinyu970226, TerraCodes. · View Herald TranscriptApr 10 2018, 7:56 PM

Adding @aaron because it's database related

RazeSoldier updated the task description. (Show Details)Apr 11 2018, 12:08 AM
RazeSoldier updated the task description. (Show Details)Apr 11 2018, 3:48 AM
aaron added a comment.Apr 11 2018, 5:28 AM

I suspect the transactions are just empty ones with SELECT statements, which don't need to give errors here.

Change 425471 had a related patch set uploaded (by Aaron Schulz; owner: Aaron Schulz):
[mediawiki/core@master] rdbms: fix transaction flushing in Database::close

https://gerrit.wikimedia.org/r/425471

Krinkle added a project: Performance-Team.
Krinkle moved this task from Backlog to libs/rdbms on the MediaWiki-Database board.

Change 425471 merged by jenkins-bot:
[mediawiki/core@master] rdbms: fix transaction flushing in Database::close

https://gerrit.wikimedia.org/r/425471

Confirmed that the error has gone away in beta:

Change 425566 had a related patch set uploaded (by Krinkle; owner: Aaron Schulz):
[mediawiki/core@wmf/1.31.0-wmf.29] rdbms: fix transaction flushing in Database::close

https://gerrit.wikimedia.org/r/425566

Change 425566 merged by jenkins-bot:
[mediawiki/core@wmf/1.31.0-wmf.29] rdbms: fix transaction flushing in Database::close

https://gerrit.wikimedia.org/r/425566

Mentioned in SAL (#wikimedia-operations) [2018-04-11T19:09:55Z] <thcipriani@tin> Synchronized php-1.31.0-wmf.29/includes/libs/rdbms/database: [[gerrit:425566|rdbms: fix transaction flushing in Database::close]] T191916 (duration: 01m 01s)

thcipriani closed this task as Resolved.Apr 11 2018, 7:28 PM
thcipriani assigned this task to aaron.

Looks resolved in prod. Thanks for the patch @aaron !