After I switched all wikis to block_target read-new mode, I saw this error. So I immediately reverted the change.
Error
- mwversion: 1.42.0-wmf.21
- reqId: 9208fce6-8868-4a95-aba7-104d0146a658
- Find reqId in Logstash
[{reqId}] {exception_url} Wikimedia\Rdbms\DBQueryDisconnectedError: A connection error occurred during a query. Query: SELECT bt_auto,bl_id,bl_timestamp,bt_address,bt_user,COALESCE(bt_address, bt_user_text) AS `bt_address_or_user_name`,actor_user,acto
from /srv/mediawiki/php-1.42.0-wmf.21/includes/libs/rdbms/database/Database.php(1201) #0 /srv/mediawiki/php-1.42.0-wmf.21/includes/libs/rdbms/database/Database.php(1187): Wikimedia\Rdbms\Database->getQueryException(string, integer, string, string) #1 /srv/mediawiki/php-1.42.0-wmf.21/includes/libs/rdbms/database/Database.php(1161): Wikimedia\Rdbms\Database->getQueryExceptionAndLog(string, integer, string, string) #2 /srv/mediawiki/php-1.42.0-wmf.21/includes/libs/rdbms/database/Database.php(652): Wikimedia\Rdbms\Database->reportQueryError(string, integer, string, string, boolean) #3 /srv/mediawiki/php-1.42.0-wmf.21/includes/libs/rdbms/database/Database.php(1350): Wikimedia\Rdbms\Database->query(Wikimedia\Rdbms\Query, string) #4 /srv/mediawiki/php-1.42.0-wmf.21/includes/libs/rdbms/database/DBConnRef.php(119): Wikimedia\Rdbms\Database->select(array, array, array, string, array, array) #5 /srv/mediawiki/php-1.42.0-wmf.21/includes/libs/rdbms/database/DBConnRef.php(351): Wikimedia\Rdbms\DBConnRef->__call(string, array) #6 /srv/mediawiki/php-1.42.0-wmf.21/includes/libs/rdbms/querybuilder/SelectQueryBuilder.php(723): Wikimedia\Rdbms\DBConnRef->select(array, array, array, string, array, array) #7 /srv/mediawiki/php-1.42.0-wmf.21/includes/api/ApiQueryBase.php(415): Wikimedia\Rdbms\SelectQueryBuilder->fetchResultSet() #8 /srv/mediawiki/php-1.42.0-wmf.21/includes/api/ApiQueryBlocks.php(284): ApiQueryBase->select(string) #9 /srv/mediawiki/php-1.42.0-wmf.21/includes/api/ApiQuery.php(704): ApiQueryBlocks->execute() #10 /srv/mediawiki/php-1.42.0-wmf.21/includes/api/ApiMain.php(1946): ApiQuery->execute() #11 /srv/mediawiki/php-1.42.0-wmf.21/includes/api/ApiMain.php(922): ApiMain->executeAction() #12 /srv/mediawiki/php-1.42.0-wmf.21/includes/api/ApiMain.php(893): ApiMain->executeActionWithErrorHandling() #13 /srv/mediawiki/php-1.42.0-wmf.21/includes/api/ApiEntryPoint.php(158): ApiMain->execute() #14 /srv/mediawiki/php-1.42.0-wmf.21/includes/MediaWikiEntryPoint.php(199): MediaWiki\Api\ApiEntryPoint->execute() #15 /srv/mediawiki/php-1.42.0-wmf.21/api.php(44): MediaWiki\MediaWikiEntryPoint->run() #16 /srv/mediawiki/w/api.php(3): require(string) #17 {main}
Impact
- 12 exceptions before I finished reverting it
Notes
MariaDB [enwiki]> explain SELECT bt_auto,bl_id,bl_timestamp,bt_address,bt_user,COALESCE(bt_address, bt_user_text) AS `bt_address_or_user_name`,actor_user,actor_name,bl_expiry,bl_sitewide,comment_bl_reason.comment_text AS `bl_reason_text`,comment_bl_reason.comment_data AS `bl_reason_data`,comment_bl_reason.comment_id AS `bl_reason_cid` FROM `block` JOIN `block_target` ON ((bt_id=bl_target)) LEFT JOIN `user` `block_target_user` ON ((user_id=bt_user)) JOIN `actor` ON ((actor_id=bl_by_actor)) JOIN `comment` `comment_bl_reason` ON ((comment_bl_reason.comment_id = bl_reason_id)) WHERE (bt_address = '2601:(omitted for privacy)' OR block_target_user.user_name IN ('EvergreenFir','Yapperbot','Dekimasu','GreenMeansGo','だ*ぜ','AGK','Ameisenigel','Bennylin','Daniuu','Doǵu','Emufarmers','Faendalimas','MdsShakil','Minorax','Nehaoua','Renvoy','RoySmith','Vermont','MediaWiki message delivery','Fyrael','Firefangledfeathers','Naypta','Lau737','HandThatFeeds') ) AND bt_auto = 0 AND (NOT EXISTS (SELECT 1 FROM `block_target` `hu_block_target` JOIN `block` ON ((bl_target=hu_block_target.bt_id)) WHERE (hu_block_target.bt_user=block_target.bt_user) AND bl_deleted = 1 )) AND (bl_expiry > '20240314040425') ORDER BY bl_timestamp DESC,bl_id DESC LIMIT 101; +------+--------------+-------------------+--------+---------------------+--------------+---------+------------------------------+--------+--------------------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +------+--------------+-------------------+--------+---------------------+--------------+---------+------------------------------+--------+--------------------------+ | 1 | PRIMARY | block | index | bl_target,bl_expiry | bl_timestamp | 14 | NULL | 202 | Using where | | 1 | PRIMARY | block_target | eq_ref | PRIMARY,bt_address | PRIMARY | 4 | enwiki.block.bl_target | 1 | Using where | | 1 | PRIMARY | block_target_user | eq_ref | PRIMARY | PRIMARY | 4 | enwiki.block_target.bt_user | 1 | Using where | | 1 | PRIMARY | actor | eq_ref | PRIMARY | PRIMARY | 8 | enwiki.block.bl_by_actor | 1 | | | 1 | PRIMARY | comment_bl_reason | eq_ref | PRIMARY | PRIMARY | 8 | enwiki.block.bl_reason_id | 1 | | | 2 | MATERIALIZED | hu_block_target | range | PRIMARY,bt_user | bt_user | 5 | NULL | 842380 | Using where; Using index | | 2 | MATERIALIZED | block | ref | bl_target | bl_target | 4 | enwiki.hu_block_target.bt_id | 1 | Using where | +------+--------------+-------------------+--------+---------------------+--------------+---------+------------------------------+--------+--------------------------+