Aaron Schulz has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/350969 )
Change subject: Avoid master queries in loadAndLazyInit() for miser mode
......................................................................
Avoid master queries in loadAndLazyInit() for miser mode
Bug: T92357
Change-Id: Idaef633d9039cdbfa3bd123018f2339c6d489fe4
---
M includes/SiteStats.php
1 file changed, 8 insertions(+), 3 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core
refs/changes/69/350969/1
diff --git a/includes/SiteStats.php b/includes/SiteStats.php
index 1c7730c..ac5e49e 100644
--- a/includes/SiteStats.php
+++ b/includes/SiteStats.php
@@ -22,6 +22,7 @@
use Wikimedia\Rdbms\Database;
use Wikimedia\Rdbms\IDatabase;
+use MediaWiki\MediaWikiServices;
/**
* Static accessor class for site_stats and related things
@@ -78,9 +79,12 @@
$row = self::doLoad( wfGetDB( DB_REPLICA ) );
if ( !self::isSane( $row ) ) {
- // Might have just been initialized during this
request? Underflow?
- wfDebug( __METHOD__ . ": site_stats damaged or missing
on replica DB\n" );
- $row = self::doLoad( wfGetDB( DB_MASTER ) );
+ $lb =
MediaWikiServices::getInstance()->getDBLoadBalancer();
+ if ( $lb->hasOrMadeRecentMasterChanges() ) {
+ // Might have just been initialized during this
request? Underflow?
+ wfDebug( __METHOD__ . ": site_stats damaged or
missing on replica DB\n" );
+ $row = self::doLoad( wfGetDB( DB_MASTER ) );
+ }
}
if ( !$wgMiserMode && !self::isSane( $row ) ) {
@@ -98,6 +102,7 @@
if ( !self::isSane( $row ) ) {
wfDebug( __METHOD__ . ": site_stats persistently
nonsensical o_O\n" );
}
+
return $row;
}
--
To view, visit https://gerrit.wikimedia.org/r/350969
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Idaef633d9039cdbfa3bd123018f2339c6d489fe4
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Aaron Schulz <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits