As reported by @Krinkle on T207530, it is not possible to delete https://www.mediawiki.org/w/index.php?title=Thread:Project:Support_desk/no_respond_to_any_clicks/actions.&action=history . I reproduced this with X-Wikimedia-Debug: log enabled. The issue occurs in Thread::delete(), which uses an unindexed query to attempt to delete rows from user_message_state:
$dbw->delete( 'user_message_state', [ 'ums_thread' => $this->id() ], __METHOD__ );
Table definition:
CREATE TABLE `user_message_state` ( `ums_user` int(10) unsigned NOT NULL DEFAULT '0', `ums_thread` int(8) unsigned NOT NULL DEFAULT '0', `ums_read_timestamp` varbinary(14) DEFAULT NULL, `ums_conversation` int(8) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`ums_user`,`ums_thread`), KEY `ums_user_conversation` (`ums_user`,`ums_conversation`) ) ENGINE=InnoDB DEFAULT CHARSET=binary
You can see that there is no index on ums_thread.
The table has 8M rows on mediawikiwiki.
Log snippet:
2018-12-14 05:02:27 [XBM5WwpAIHsAAAQ486oAAAAS] mwdebug1001 mediawikiwiki 1.33.0-wmf.8 DBPerformance WARNING: Expectation (writeQueryTime <= 1) by MediaWiki::main not met (actual: 5.3960931301117): query-m: DELETE FROM `user_message_state` WHERE ums_thread = 'X' [TRX#64d9be] #0 /srv/mediawiki/php-1.33.0-wmf.8/includes/libs/rdbms/TransactionProfiler.php(231): Wikimedia\Rdbms\TransactionProfiler->reportExpectationViolated() #1 /srv/mediawiki/php-1.33.0-wmf.8/includes/libs/rdbms/database/Database.php(1296): Wikimedia\Rdbms\TransactionProfiler->recordQueryCompletion() #2 /srv/mediawiki/php-1.33.0-wmf.8/includes/libs/rdbms/database/Database.php(1193): Wikimedia\Rdbms\Database->doProfiledQuery() #3 /srv/mediawiki/php-1.33.0-wmf.8/includes/libs/rdbms/database/Database.php(2954): Wikimedia\Rdbms\Database->query() #4 /srv/mediawiki/php-1.33.0-wmf.8/extensions/LiquidThreads/classes/Thread.php(364): Wikimedia\Rdbms\Database->delete() #5 /srv/mediawiki/php-1.33.0-wmf.8/extensions/LiquidThreads/classes/DeletionController.php(22): Thread->delete() #6 /srv/mediawiki/php-1.33.0-wmf.8/includes/Hooks.php(174): LqtDeletionController::onArticleDeleteComplete() #7 /srv/mediawiki/php-1.33.0-wmf.8/includes/Hooks.php(202): Hooks::callHook() #8 /srv/mediawiki/php-1.33.0-wmf.8/includes/page/WikiPage.php(2794): Hooks::run() #9 /srv/mediawiki/php-1.33.0-wmf.8/includes/page/WikiPage.php(2639): WikiPage->doDeleteArticleBatched() #10 /srv/mediawiki/php-1.33.0-wmf.8/includes/page/Article.php(2071): WikiPage->doDeleteArticleReal() #11 /srv/mediawiki/php-1.33.0-wmf.8/includes/page/Article.php(1826): Article->doDelete() #12 /srv/mediawiki/php-1.33.0-wmf.8/includes/actions/DeleteAction.php(46): Article->delete() #13 /srv/mediawiki/php-1.33.0-wmf.8/includes/MediaWiki.php(501): DeleteAction->show() #14 /srv/mediawiki/php-1.33.0-wmf.8/includes/MediaWiki.php(294): MediaWiki->performAction() #15 /srv/mediawiki/php-1.33.0-wmf.8/includes/MediaWiki.php(862): MediaWiki->performRequest() #16 /srv/mediawiki/php-1.33.0-wmf.8/includes/MediaWiki.php(517): MediaWiki->main() #17 /srv/mediawiki/php-1.33.0-wmf.8/index.php(42): MediaWiki->run() #18 /srv/mediawiki/w/index.php(3): include() #19 {main} {"measure":"writeQueryTime","max":1,"by":"MediaWiki::main","actual":5.3960931301117,"query":"query-m: DELETE FROM `user_message_state` WHERE ums_thread = 'X' [TRX#64d9be]"} 2018-12-14 05:02:27 [XBM5WwpAIHsAAAQ486oAAAAS] mwdebug1001 mediawikiwiki 1.33.0-wmf.8 DBQuery DEBUG: DELETE FROM `user_message_state` WHERE ums_thread = '27694' {"method":"Thread::delete","master":true,"runtime":5.3912460803986}