Wiki can’t connect to database #12188

Closed
opened 2024-09-19 08:00:59 +00:00 by nphilipp · 6 comments

Accessing https://fedoraproject.org/wiki/Architectures, I often get this error (but not always):

MediaWiki internal error.

Original exception: [ZuvbCSer93RCVHVMl8GfVgAAAZY] /wiki/Architectures Wikimedia\Rdbms\DBConnectionError: Cannot access the database: Too many connections (db03)
Backtrace:
from /usr/share/mediawiki/includes/libs/rdbms/loadbalancer/LoadBalancer.php(1149)
#0 /usr/share/mediawiki/includes/libs/rdbms/loadbalancer/LoadBalancer.php(805): Wikimedia\Rdbms\LoadBalancer->reportConnectionError()
#1 /usr/share/mediawiki/includes/libs/rdbms/loadbalancer/LoadBalancer.php(793): Wikimedia\Rdbms\LoadBalancer->getServerConnection()
#2 /usr/share/mediawiki/includes/libs/rdbms/database/DBConnRef.php(99): Wikimedia\Rdbms\LoadBalancer->getConnectionInternal()
#3 /usr/share/mediawiki/includes/libs/rdbms/database/DBConnRef.php(117): Wikimedia\Rdbms\DBConnRef->ensureConnection()
#4 /usr/share/mediawiki/includes/libs/rdbms/database/DBConnRef.php(369): Wikimedia\Rdbms\DBConnRef->__call()
#5 /usr/share/mediawiki/includes/page/WikiPage.php(358): Wikimedia\Rdbms\DBConnRef->selectRow()
#6 /usr/share/mediawiki/includes/page/WikiPage.php(386): WikiPage->pageData()
#7 /usr/share/mediawiki/includes/page/WikiPage.php(426): WikiPage->pageDataFromTitle()
#8 /usr/share/mediawiki/includes/page/WikiPage.php(542): WikiPage->loadPageData()
#9 /usr/share/mediawiki/includes/page/WikiPage.php(614): WikiPage->exists()
#10 /usr/share/mediawiki/includes/page/WikiPage.php(251): WikiPage->getContentModel()
#11 /usr/share/mediawiki/includes/MediaWiki.php(480): WikiPage->getContentHandler()
#12 /usr/share/mediawiki/includes/MediaWiki.php(361): MediaWiki->initializeArticle()
#13 /usr/share/mediawiki/includes/MediaWiki.php(960): MediaWiki->performRequest()
#14 /usr/share/mediawiki/includes/MediaWiki.php(613): MediaWiki->main()
#15 /usr/share/mediawiki/index.php(50): MediaWiki->run()
#16 /usr/share/mediawiki/index.php(46): wfIndexMain()
#17 {main}

Exception caught inside exception handler: [ZuvbCSer93RCVHVMl8GfVgAAAZY] /wiki/Architectures Wikimedia\Rdbms\DBConnectionError: Cannot access the database: Too many connections (db03)
Backtrace:
from /usr/share/mediawiki/includes/libs/rdbms/loadbalancer/LoadBalancer.php(1149)
#0 /usr/share/mediawiki/includes/libs/rdbms/loadbalancer/LoadBalancer.php(805): Wikimedia\Rdbms\LoadBalancer->reportConnectionError()
#1 /usr/share/mediawiki/includes/libs/rdbms/loadbalancer/LoadBalancer.php(793): Wikimedia\Rdbms\LoadBalancer->getServerConnection()
#2 /usr/share/mediawiki/includes/libs/rdbms/database/DBConnRef.php(99): Wikimedia\Rdbms\LoadBalancer->getConnectionInternal()
#3 /usr/share/mediawiki/includes/libs/rdbms/database/DBConnRef.php(117): Wikimedia\Rdbms\DBConnRef->ensureConnection()
#4 /usr/share/mediawiki/includes/libs/rdbms/database/DBConnRef.php(338): Wikimedia\Rdbms\DBConnRef->__call()
#5 /usr/share/mediawiki/includes/libs/rdbms/querybuilder/SelectQueryBuilder.php(725): Wikimedia\Rdbms\DBConnRef->selectField()
#6 /usr/share/mediawiki/includes/language/LCStoreDB.php(65): Wikimedia\Rdbms\SelectQueryBuilder->fetchField()
#7 /usr/share/mediawiki/includes/language/LocalisationCache.php(559): LCStoreDB->get()
#8 /usr/share/mediawiki/includes/language/LocalisationCache.php(606): LocalisationCache->isExpired()
#9 /usr/share/mediawiki/includes/language/LocalisationCache.php(516): LocalisationCache->initLanguage()
#10 /usr/share/mediawiki/includes/language/LocalisationCache.php(396): LocalisationCache->loadSubitem()
#11 /usr/share/mediawiki/includes/language/MessageCache.php(745): LocalisationCache->getSubitem()
#12 /usr/share/mediawiki/includes/language/MessageCache.php(1323): MessageCache->isMainCacheable()
#13 /usr/share/mediawiki/includes/language/MessageCache.php(1205): MessageCache->getMsgFromNamespace()
#14 /usr/share/mediawiki/includes/language/MessageCache.php(1177): MessageCache->getMessageForLang()
#15 /usr/share/mediawiki/includes/language/MessageCache.php(1072): MessageCache->getMessageFromFallbackChain()
#16 /usr/share/mediawiki/includes/language/Message.php(1485): MessageCache->get()
#17 /usr/share/mediawiki/includes/language/Message.php(972): Message->fetchMessage()
#18 /usr/share/mediawiki/includes/language/Message.php(1059): Message->format()
#19 /usr/share/mediawiki/includes/exception/MWExceptionRenderer.php(254): Message->text()
#20 /usr/share/mediawiki/includes/exception/MWExceptionRenderer.php(398): MWExceptionRenderer::msg()
#21 /usr/share/mediawiki/includes/exception/MWExceptionRenderer.php(103): MWExceptionRenderer::reportOutageHTML()
#22 /usr/share/mediawiki/includes/exception/MWExceptionHandler.php(134): MWExceptionRenderer::output()
#23 /usr/share/mediawiki/includes/exception/MWExceptionHandler.php(251): MWExceptionHandler::report()
#24 /usr/share/mediawiki/includes/MediaWiki.php(632): MWExceptionHandler::handleException()
#25 /usr/share/mediawiki/index.php(50): MediaWiki->run()
#26 /usr/share/mediawiki/index.php(46): wfIndexMain()
#27 {main}

When I reload the page, it’s about a coin toss (50%/50%) if the page loads successfully or runs into the error. I get either via the same proxies.

This should display the page instead.

When do you need this to be done by? (YYYY/MM/DD)

Soon

Accessing https://fedoraproject.org/wiki/Architectures, I often get this error (but not always): ``` MediaWiki internal error. Original exception: [ZuvbCSer93RCVHVMl8GfVgAAAZY] /wiki/Architectures Wikimedia\Rdbms\DBConnectionError: Cannot access the database: Too many connections (db03) Backtrace: from /usr/share/mediawiki/includes/libs/rdbms/loadbalancer/LoadBalancer.php(1149) #0 /usr/share/mediawiki/includes/libs/rdbms/loadbalancer/LoadBalancer.php(805): Wikimedia\Rdbms\LoadBalancer->reportConnectionError() #1 /usr/share/mediawiki/includes/libs/rdbms/loadbalancer/LoadBalancer.php(793): Wikimedia\Rdbms\LoadBalancer->getServerConnection() #2 /usr/share/mediawiki/includes/libs/rdbms/database/DBConnRef.php(99): Wikimedia\Rdbms\LoadBalancer->getConnectionInternal() #3 /usr/share/mediawiki/includes/libs/rdbms/database/DBConnRef.php(117): Wikimedia\Rdbms\DBConnRef->ensureConnection() #4 /usr/share/mediawiki/includes/libs/rdbms/database/DBConnRef.php(369): Wikimedia\Rdbms\DBConnRef->__call() #5 /usr/share/mediawiki/includes/page/WikiPage.php(358): Wikimedia\Rdbms\DBConnRef->selectRow() #6 /usr/share/mediawiki/includes/page/WikiPage.php(386): WikiPage->pageData() #7 /usr/share/mediawiki/includes/page/WikiPage.php(426): WikiPage->pageDataFromTitle() #8 /usr/share/mediawiki/includes/page/WikiPage.php(542): WikiPage->loadPageData() #9 /usr/share/mediawiki/includes/page/WikiPage.php(614): WikiPage->exists() #10 /usr/share/mediawiki/includes/page/WikiPage.php(251): WikiPage->getContentModel() #11 /usr/share/mediawiki/includes/MediaWiki.php(480): WikiPage->getContentHandler() #12 /usr/share/mediawiki/includes/MediaWiki.php(361): MediaWiki->initializeArticle() #13 /usr/share/mediawiki/includes/MediaWiki.php(960): MediaWiki->performRequest() #14 /usr/share/mediawiki/includes/MediaWiki.php(613): MediaWiki->main() #15 /usr/share/mediawiki/index.php(50): MediaWiki->run() #16 /usr/share/mediawiki/index.php(46): wfIndexMain() #17 {main} Exception caught inside exception handler: [ZuvbCSer93RCVHVMl8GfVgAAAZY] /wiki/Architectures Wikimedia\Rdbms\DBConnectionError: Cannot access the database: Too many connections (db03) Backtrace: from /usr/share/mediawiki/includes/libs/rdbms/loadbalancer/LoadBalancer.php(1149) #0 /usr/share/mediawiki/includes/libs/rdbms/loadbalancer/LoadBalancer.php(805): Wikimedia\Rdbms\LoadBalancer->reportConnectionError() #1 /usr/share/mediawiki/includes/libs/rdbms/loadbalancer/LoadBalancer.php(793): Wikimedia\Rdbms\LoadBalancer->getServerConnection() #2 /usr/share/mediawiki/includes/libs/rdbms/database/DBConnRef.php(99): Wikimedia\Rdbms\LoadBalancer->getConnectionInternal() #3 /usr/share/mediawiki/includes/libs/rdbms/database/DBConnRef.php(117): Wikimedia\Rdbms\DBConnRef->ensureConnection() #4 /usr/share/mediawiki/includes/libs/rdbms/database/DBConnRef.php(338): Wikimedia\Rdbms\DBConnRef->__call() #5 /usr/share/mediawiki/includes/libs/rdbms/querybuilder/SelectQueryBuilder.php(725): Wikimedia\Rdbms\DBConnRef->selectField() #6 /usr/share/mediawiki/includes/language/LCStoreDB.php(65): Wikimedia\Rdbms\SelectQueryBuilder->fetchField() #7 /usr/share/mediawiki/includes/language/LocalisationCache.php(559): LCStoreDB->get() #8 /usr/share/mediawiki/includes/language/LocalisationCache.php(606): LocalisationCache->isExpired() #9 /usr/share/mediawiki/includes/language/LocalisationCache.php(516): LocalisationCache->initLanguage() #10 /usr/share/mediawiki/includes/language/LocalisationCache.php(396): LocalisationCache->loadSubitem() #11 /usr/share/mediawiki/includes/language/MessageCache.php(745): LocalisationCache->getSubitem() #12 /usr/share/mediawiki/includes/language/MessageCache.php(1323): MessageCache->isMainCacheable() #13 /usr/share/mediawiki/includes/language/MessageCache.php(1205): MessageCache->getMsgFromNamespace() #14 /usr/share/mediawiki/includes/language/MessageCache.php(1177): MessageCache->getMessageForLang() #15 /usr/share/mediawiki/includes/language/MessageCache.php(1072): MessageCache->getMessageFromFallbackChain() #16 /usr/share/mediawiki/includes/language/Message.php(1485): MessageCache->get() #17 /usr/share/mediawiki/includes/language/Message.php(972): Message->fetchMessage() #18 /usr/share/mediawiki/includes/language/Message.php(1059): Message->format() #19 /usr/share/mediawiki/includes/exception/MWExceptionRenderer.php(254): Message->text() #20 /usr/share/mediawiki/includes/exception/MWExceptionRenderer.php(398): MWExceptionRenderer::msg() #21 /usr/share/mediawiki/includes/exception/MWExceptionRenderer.php(103): MWExceptionRenderer::reportOutageHTML() #22 /usr/share/mediawiki/includes/exception/MWExceptionHandler.php(134): MWExceptionRenderer::output() #23 /usr/share/mediawiki/includes/exception/MWExceptionHandler.php(251): MWExceptionHandler::report() #24 /usr/share/mediawiki/includes/MediaWiki.php(632): MWExceptionHandler::handleException() #25 /usr/share/mediawiki/index.php(50): MediaWiki->run() #26 /usr/share/mediawiki/index.php(46): wfIndexMain() #27 {main} ``` When I reload the page, it’s about a coin toss (50%/50%) if the page loads successfully or runs into the error. I get either via the same proxies. This should display the page instead. # When do you need this to be done by? (YYYY/MM/DD) Soon
Contributor

Metadata Update from @zlopez:

  • Issue priority set to: Waiting on Assignee (was: Needs Review)
  • Issue tagged with: Needs investigation
**Metadata Update from @zlopez**: - Issue priority set to: Waiting on Assignee (was: Needs Review) - Issue tagged with: Needs investigation
Contributor

This is happening only for some proxies, if you hit the working ones it will redirect you without issue.

This is happening only for some proxies, if you hit the working ones it will redirect you without issue.
Contributor

It seems that this was resolved by itself. I don't see any more alerts in nagios. Could you confirm that it's working for you?

It seems that this was resolved by itself. I don't see any more alerts in nagios. Could you confirm that it's working for you?

So, in the past this has been when database backups are running, the wiki is slow/unresponsive. ;(

It may be that there's some kind of leak in mariadb and restarting it will help... I did so, so I guess we can see if it happens the next database backup window.

So, in the past this has been when database backups are running, the wiki is slow/unresponsive. ;( It may be that there's some kind of leak in mariadb and restarting it will help... I did so, so I guess we can see if it happens the next database backup window.
Author

I don’t get these errors anymore.

I don’t get these errors anymore.
Author

Metadata Update from @nphilipp:

  • Issue close_status updated to: Fixed
  • Issue status updated to: Closed (was: Open)
**Metadata Update from @nphilipp**: - Issue close_status updated to: Fixed - Issue status updated to: Closed (was: Open)
Sign in to join this conversation.
No milestone
No project
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Infrastructure/fedora-infrastructure#12188
No description provided.