The master DB of the deployment-prep MediaWiki cluster is down but the replicas are up:
tgr@deployment-deploy01:~$ sql metawiki --write ERROR 2003 (HY000): Can't connect to MySQL server on '172.16.5.23' (113 "No route to host") tgr@deployment-deploy01:~$ sql metawiki Welcome to the MariaDB monitor.
Visiting https://meta.wikimedia.beta.wmflabs.org/wiki/Main_Page in an incognito window gives this exception:
Sorry! This site is experiencing technical difficulties. Try waiting a few minutes and reloading. (Cannot access the database: Cannot access the database: Unknown error (172.16.5.23:3306)) Backtrace: #0 /srv/mediawiki/php-master/includes/libs/rdbms/loadbalancer/LoadBalancer.php(751): Wikimedia\Rdbms\LoadBalancer->reportConnectionError() #1 /srv/mediawiki/php-master/includes/GlobalFunctions.php(2654): Wikimedia\Rdbms\LoadBalancer->getConnection() #2 /srv/mediawiki/php-master/extensions/CentralNotice/includes/CNDatabase.php(62): wfGetDB() #3 /srv/mediawiki/php-master/extensions/CentralNotice/includes/BannerMessageGroup.php(230): CNDatabase::getDb() #4 /srv/mediawiki/php-master/includes/Hooks.php(174): BannerMessageGroup::registerGroupHook() #5 /srv/mediawiki/php-master/includes/Hooks.php(202): Hooks::callHook() #6 /srv/mediawiki/php-master/extensions/Translate/MessageGroups.php(62): Hooks::run() #7 /srv/mediawiki/php-master/includes/libs/objectcache/WANObjectCache.php(1326): Closure$MessageGroups::getCachedGroupDefinitions() #8 /srv/mediawiki/php-master/includes/libs/objectcache/WANObjectCache.php(1190): WANObjectCache->doGetWithSetCallback() #9 /srv/mediawiki/php-master/extensions/Translate/MessageGroups.php(92): WANObjectCache->getWithSetCallback() #10 /srv/mediawiki/php-master/extensions/Translate/MessageGroups.php(42): MessageGroups->getCachedGroupDefinitions() #11 /srv/mediawiki/php-master/extensions/Translate/MessageGroups.php(586): MessageGroups->init() #12 /srv/mediawiki/php-master/extensions/Translate/MessageGroups.php(316): MessageGroups->getGroups() #13 /srv/mediawiki/php-master/extensions/Translate/tag/TranslatablePage.php(209): MessageGroups::getGroup() #14 /srv/mediawiki/php-master/extensions/Translate/tag/TranslatablePage.php(769): TranslatablePage->getMessageGroup() #15 /srv/mediawiki/php-master/extensions/Translate/tag/PageTranslationHooks.php(411): TranslatablePage->getTranslationPercentages() #16 /srv/mediawiki/php-master/extensions/Translate/tag/PageTranslationHooks.php(256): PageTranslationHooks::getTranslatablePageStatus() #17 /srv/mediawiki/php-master/includes/parser/Parser.php(3987): PageTranslationHooks::languages() #18 /srv/mediawiki/php-master/includes/parser/Preprocessor_Hash.php(1188): Parser->extensionSubstitution() #19 /srv/mediawiki/php-master/includes/parser/Parser.php(3036): PPFrame_Hash->expand() #20 /srv/mediawiki/php-master/includes/parser/Parser.php(1354): Parser->replaceVariables() #21 /srv/mediawiki/php-master/includes/parser/Parser.php(482): Parser->internalParse() #22 /srv/mediawiki/php-master/includes/content/WikitextContent.php(369): Parser->parse() #23 /srv/mediawiki/php-master/includes/content/AbstractContent.php(555): WikitextContent->fillParserOutput() #24 /srv/mediawiki/php-master/includes/Revision/RenderedRevision.php(266): AbstractContent->getParserOutput() #25 /srv/mediawiki/php-master/includes/Revision/RenderedRevision.php(234): MediaWiki\Revision\RenderedRevision->getSlotParserOutputUncached() #26 /srv/mediawiki/php-master/includes/Revision/RevisionRenderer.php(193): MediaWiki\Revision\RenderedRevision->getSlotParserOutput() #27 /srv/mediawiki/php-master/includes/Revision/RevisionRenderer.php(142): MediaWiki\Revision\RevisionRenderer->combineSlotOutput() #28 (): Closure$MediaWiki\Revision\RevisionRenderer::getRenderedRevision#2() #29 /srv/mediawiki/php-master/includes/Revision/RenderedRevision.php(197): call_user_func() #30 /srv/mediawiki/php-master/includes/poolcounter/PoolWorkArticleView.php(194): MediaWiki\Revision\RenderedRevision->getRevisionParserOutput() #31 /srv/mediawiki/php-master/includes/poolcounter/PoolCounterWork.php(123): PoolWorkArticleView->doWork() #32 /srv/mediawiki/php-master/includes/page/Article.php(774): PoolCounterWork->execute() #33 /srv/mediawiki/php-master/includes/actions/ViewAction.php(68): Article->view() #34 /srv/mediawiki/php-master/includes/MediaWiki.php(501): ViewAction->show() #35 /srv/mediawiki/php-master/includes/MediaWiki.php(294): MediaWiki->performAction() #36 /srv/mediawiki/php-master/includes/MediaWiki.php(867): MediaWiki->performRequest() #37 /srv/mediawiki/php-master/includes/MediaWiki.php(517): MediaWiki->main() #38 /srv/mediawiki/php-master/index.php(42): MediaWiki->run() #39 /srv/mediawiki/w/index.php(3): include() #40 {main}
That's not great error recovery. MediaWiki should not need master reads just to show the main page, but if it does, it should at least resume in readonly mode on error. (Also, what's up with the error message?)