Page MenuHomePhabricator

Deletion of a file at Commons fails: Wikimedia\Rdbms\DBTransactionError from line 1519 of /srv/mediawiki/php-1.36.0-wmf.10/includes/libs/rdbms/database/Database.php: Explicit transaction still active. A caller may have caught an error. Open transactions: FileDeleteForm::doDelete
Closed, DuplicatePublicPRODUCTION ERROR

Description

Error message
Wikimedia\Rdbms\DBTransactionError from line 1519 of /srv/mediawiki/php-1.36.0-wmf.10/includes/libs/rdbms/database/Database.php: Explicit transaction still active. A caller may have caught an error. Open transactions: FileDeleteForm::doDelete
Impact

https://commons.wikimedia.org/wiki/File:Hapostullus.jpg can't be deleted, it may also affect other files as well.

  1. Notes

Details

Request ID
cd1b5292-6c37-4980-8ba1-a5292ce9f64d
Request URL
https://commons.wikimedia.org/w/index.php?title=File:Hapostullus.jpg&action=delete
Stack Trace
2020-09-24 13:11:35 [cd1b5292-6c37-4980-8ba1-a5292ce9f64d] mw2339 commonswiki 1.36.0-wmf.10 exception ERROR: [cd1b5292-6c37-4980-8ba1-a5292ce9f64d] /w/index.php?title=File:Hapostullus.jpg&action=delete   Wikimedia\Rdbms\DBTransactionError from line 1519 of /srv/mediawiki/php-1.36.0-wmf.10/includes/libs/rdbms/database/Database.php: Explicit transaction still active. A caller may have caught an error. Open transactions: FileDeleteForm::doDelete {"exception_id":"cd1b5292-6c37-4980-8ba1-a5292ce9f64d","exception_url":"/w/index.php?title=File:Hapostullus.jpg&action=delete","caught_by":"entrypoint"}
[Exception Wikimedia\Rdbms\DBTransactionError] (/srv/mediawiki/php-1.36.0-wmf.10/includes/libs/rdbms/database/Database.php:1519) Explicit transaction still active. A caller may have caught an error. Open transactions: FileDeleteForm::doDelete
  #0 /srv/mediawiki/php-1.36.0-wmf.10/includes/libs/rdbms/loadbalancer/LoadBalancer.php(1639): Wikimedia\Rdbms\Database->assertNoOpenTransactions()
  #1 /srv/mediawiki/php-1.36.0-wmf.10/includes/libs/rdbms/loadbalancer/LoadBalancer.php(2147): Wikimedia\Rdbms\LoadBalancer->Wikimedia\Rdbms\{closure}(Wikimedia\Rdbms\DatabaseMysqli)
  #2 /srv/mediawiki/php-1.36.0-wmf.10/includes/libs/rdbms/loadbalancer/LoadBalancer.php(1658): Wikimedia\Rdbms\LoadBalancer->forEachOpenMasterConnection(Closure)
  #3 /srv/mediawiki/php-1.36.0-wmf.10/includes/libs/rdbms/lbfactory/LBFactory.php(244): Wikimedia\Rdbms\LoadBalancer->approveMasterChanges(array, string, integer)
  #4 /srv/mediawiki/php-1.36.0-wmf.10/includes/libs/rdbms/lbfactory/LBFactoryMulti.php(222): Wikimedia\Rdbms\LBFactory->Wikimedia\Rdbms\{closure}(Wikimedia\Rdbms\LoadBalancer, string, array)
  #5 /srv/mediawiki/php-1.36.0-wmf.10/includes/libs/rdbms/lbfactory/LBFactory.php(246): Wikimedia\Rdbms\LBFactoryMulti->forEachLB(Closure, array)
  #6 /srv/mediawiki/php-1.36.0-wmf.10/includes/libs/rdbms/lbfactory/LBFactory.php(305): Wikimedia\Rdbms\LBFactory->forEachLBCallMethod(string, array)
  #7 /srv/mediawiki/php-1.36.0-wmf.10/includes/MediaWiki.php(678): Wikimedia\Rdbms\LBFactory->commitMasterChanges(string, array)
  #8 /srv/mediawiki/php-1.36.0-wmf.10/includes/MediaWiki.php(648): MediaWiki::preOutputCommit(RequestContext, NULL)
  #9 /srv/mediawiki/php-1.36.0-wmf.10/includes/MediaWiki.php(553): MediaWiki->doPreOutputCommit()
  #10 /srv/mediawiki/php-1.36.0-wmf.10/index.php(53): MediaWiki->run()
  #11 /srv/mediawiki/php-1.36.0-wmf.10/index.php(46): wfIndexMain()
  #12 /srv/mediawiki/w/index.php(3): require(string)
  #13 {main}

Event Timeline

The interesting thing is that file versions from 21:55, 3 April 2013 and 21:55, 3 April 2013 got deleted already - somehow.

Three entries in Logstash:

  • reqId: cd1b5292-6c37-4980-8ba1-a5292ce9f64d
  • timestamp: 2020-09-24T13:11:35
  • host: mw2339
  • wiki: commonswiki
  • url: POST /w/index.php?title=File:Hapostullus.jpg&action=delete
LocalFile channel
Failed to lock 'Hapostullus.jpg'
DBPerformance channel
Sub-optimal transaction on DB(s) [10.192.32.172 (commonswiki) (TRX#3efae4)]: 
0	0.002726	query-m: INSERT INTO `archive` (ar_namespace,ar_title,ar_timestamp,ar_minor_edit,ar_rev_id,ar_parent_id,ar_len,ar_page_id,ar_deleted,ar_sha1,ar_comment_id,ar_actor) VALUES (N,'X',N) [TRX#3efae4]
1	0.000744	query-m: DELETE FROM `revision` WHERE rev_id IN ('X')  [TRX#3efae4]
2	0.000561	query-m: DELETE FROM `revision_comment_temp` WHERE revcomment_rev IN ('X')  [TRX#3efae4]
3	0.000724	query-m: DELETE FROM `revision_actor_temp` WHERE revactor_rev IN ('X')  [TRX#3efae4]
4	0.003754	query-m: DELETE FROM `page` WHERE page_id = N [TRX#3efae4]
5	0.000262	query-m: INSERT INTO `comment` (comment_hash,comment_text,comment_data) VALUES (N,'X',NULL) [TRX#3efae4]
6	0.000823	query-m: INSERT INTO `logging` (log_type,log_action,log_timestamp,log_namespace,log_title,log_page,log_params,log_comment_id,log_actor) VALUES ('X',N,...,N) [TRX#3efae4]
7	0.000419	query-m: DELETE FROM `globalimagelinks` WHERE gil_wiki = 'X' AND gil_page = N [TRX#3efae4]
8	0.522721	...delay...
9	0.000498	query-m: DELETE FROM `geo_tags` WHERE gt_page_id = N [TRX#3efae4]
10	0.001484	query-m: REPLACE INTO `objectcache` (keyname,value,exptime) VALUES ('X')
11	10.397346	...delay...
exception channel
Wikimedia\Rdbms\DBTransactionError
Explicit transaction still active. A caller may have caught an error. Open transactions: FileDeleteForm::doDelete

#0 /srv/mediawiki/php-1.36.0-wmf.10/includes/libs/rdbms/loadbalancer/LoadBalancer.php(1639): Wikimedia\Rdbms\Database->assertNoOpenTransactions()
#1 /srv/mediawiki/php-1.36.0-wmf.10/includes/libs/rdbms/loadbalancer/LoadBalancer.php(2147): Wikimedia\Rdbms\LoadBalancer->Wikimedia\Rdbms\{closure}(Wikimedia\Rdbms\DatabaseMysqli)
#2 /srv/mediawiki/php-1.36.0-wmf.10/includes/libs/rdbms/loadbalancer/LoadBalancer.php(1658): Wikimedia\Rdbms\LoadBalancer->forEachOpenMasterConnection(Closure)
#3 /srv/mediawiki/php-1.36.0-wmf.10/includes/libs/rdbms/lbfactory/LBFactory.php(244): Wikimedia\Rdbms\LoadBalancer->approveMasterChanges(array, string, integer)
#4 /srv/mediawiki/php-1.36.0-wmf.10/includes/libs/rdbms/lbfactory/LBFactoryMulti.php(222): Wikimedia\Rdbms\LBFactory->Wikimedia\Rdbms\{closure}(Wikimedia\Rdbms\LoadBalancer, string, array)
#5 /srv/mediawiki/php-1.36.0-wmf.10/includes/libs/rdbms/lbfactory/LBFactory.php(246): Wikimedia\Rdbms\LBFactoryMulti->forEachLB(Closure, array)
#6 /srv/mediawiki/php-1.36.0-wmf.10/includes/libs/rdbms/lbfactory/LBFactory.php(305): Wikimedia\Rdbms\LBFactory->forEachLBCallMethod(string, array)
#7 /srv/mediawiki/php-1.36.0-wmf.10/includes/MediaWiki.php(678): Wikimedia\Rdbms\LBFactory->commitMasterChanges(string, array)
#8 /srv/mediawiki/php-1.36.0-wmf.10/includes/MediaWiki.php(648): MediaWiki::preOutputCommit(RequestContext, NULL)
#9 /srv/mediawiki/php-1.36.0-wmf.10/includes/MediaWiki.php(553): MediaWiki->doPreOutputCommit()
#10 /srv/mediawiki/php-1.36.0-wmf.10/index.php(53): MediaWiki->run()
#11 /srv/mediawiki/php-1.36.0-wmf.10/index.php(46): wfIndexMain()
#12 /srv/mediawiki/w/index.php(3): require(string)
#13 {main}