From: Aaron Schulz Date: Thu, 14 Jun 2018 00:14:23 +0000 (-0700) Subject: rdbms: disable ChronologyProtector if EmptyBagOStuff is used X-Git-Tag: 1.31.1~12 X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=commitdiff_plain;h=b718b8926c061b9fa1253c24e9d094e039791ea7 rdbms: disable ChronologyProtector if EmptyBagOStuff is used Bug: T197206 Change-Id: Ic07634224fac1ae72d1ba20176c028fdda5ba415 --- diff --git a/RELEASE-NOTES-1.31 b/RELEASE-NOTES-1.31 index 7872403e41..a67aca010c 100644 --- a/RELEASE-NOTES-1.31 +++ b/RELEASE-NOTES-1.31 @@ -13,6 +13,7 @@ This is a security and maintenance release of the MediaWiki 1.31 branch. * (T193829) Indicate when a Bot Password needs reset. * (T198037) GitInfo: Don't try shelling out if it's disabled. * (T151415) Log email changes. +* (T197206) Fix performance regression when multiple DB used without caching. == MediaWiki 1.31 == diff --git a/includes/libs/rdbms/lbfactory/LBFactory.php b/includes/libs/rdbms/lbfactory/LBFactory.php index c272147639..401e9b3627 100644 --- a/includes/libs/rdbms/lbfactory/LBFactory.php +++ b/includes/libs/rdbms/lbfactory/LBFactory.php @@ -466,6 +466,10 @@ abstract class LBFactory implements ILBFactory { // Request opted out of using position wait logic. This is useful for requests // done by the job queue or background ETL that do not have a meaningful session. $this->chronProt->setWaitEnabled( false ); + } elseif ( $this->memStash instanceof EmptyBagOStuff ) { + // No where to store any DB positions and wait for them to appear + $this->chronProt->setEnabled( false ); + $this->replLogger->info( 'Cannot use ChronologyProtector with EmptyBagOStuff.' ); } $this->replLogger->debug( __METHOD__ . ': using request info ' .