jenkins-bot has submitted this change and it was merged. (
https://gerrit.wikimedia.org/r/334388 )
Change subject: Move LoadMonitor to Rdbms namespace
......................................................................
Move LoadMonitor to Rdbms namespace
Change-Id: Icc178acb5ba0e21d1a8e857c43724c694c7ebeb1
---
M autoload.php
M includes/libs/rdbms/loadbalancer/LoadBalancer.php
M includes/libs/rdbms/loadmonitor/ILoadMonitor.php
M includes/libs/rdbms/loadmonitor/LoadMonitor.php
M includes/libs/rdbms/loadmonitor/LoadMonitorMySQL.php
M includes/libs/rdbms/loadmonitor/LoadMonitorNull.php
6 files changed, 42 insertions(+), 7 deletions(-)
Approvals:
Krinkle: Looks good to me, approved
jenkins-bot: Verified
diff --git a/autoload.php b/autoload.php
index a6840b4..3a4ce62 100644
--- a/autoload.php
+++ b/autoload.php
@@ -597,7 +597,6 @@
'IJobSpecification' => __DIR__ .
'/includes/jobqueue/JobSpecification.php',
'ILBFactory' => __DIR__ .
'/includes/libs/rdbms/lbfactory/ILBFactory.php',
'ILoadBalancer' => __DIR__ .
'/includes/libs/rdbms/loadbalancer/ILoadBalancer.php',
- 'ILoadMonitor' => __DIR__ .
'/includes/libs/rdbms/loadmonitor/ILoadMonitor.php',
'ILocalizedException' => __DIR__ .
'/includes/exception/LocalizedException.php',
'IMaintainableDatabase' => __DIR__ .
'/includes/libs/rdbms/database/IMaintainableDatabase.php',
'IP' => __DIR__ . '/includes/libs/IP.php',
@@ -746,9 +745,6 @@
'ListredirectsPage' => __DIR__ .
'/includes/specials/SpecialListredirects.php',
'LoadBalancer' => __DIR__ .
'/includes/libs/rdbms/loadbalancer/LoadBalancer.php',
'LoadBalancerSingle' => __DIR__ .
'/includes/libs/rdbms/loadbalancer/LoadBalancerSingle.php',
- 'LoadMonitor' => __DIR__ .
'/includes/libs/rdbms/loadmonitor/LoadMonitor.php',
- 'LoadMonitorMySQL' => __DIR__ .
'/includes/libs/rdbms/loadmonitor/LoadMonitorMySQL.php',
- 'LoadMonitorNull' => __DIR__ .
'/includes/libs/rdbms/loadmonitor/LoadMonitorNull.php',
'LocalFile' => __DIR__ . '/includes/filerepo/file/LocalFile.php',
'LocalFileDeleteBatch' => __DIR__ .
'/includes/filerepo/file/LocalFile.php',
'LocalFileLockError' => __DIR__ .
'/includes/filerepo/file/LocalFile.php',
@@ -1589,6 +1585,10 @@
'WikiTextStructure' => __DIR__ .
'/includes/content/WikiTextStructure.php',
'Wikimedia\\Rdbms\\ChronologyProtector' => __DIR__ .
'/includes/libs/rdbms/ChronologyProtector.php',
'Wikimedia\\Rdbms\\ConnectionManager' => __DIR__ .
'/includes/libs/rdbms/connectionmanager/ConnectionManager.php',
+ 'Wikimedia\\Rdbms\\ILoadMonitor' => __DIR__ .
'/includes/libs/rdbms/loadmonitor/ILoadMonitor.php',
+ 'Wikimedia\\Rdbms\\LoadMonitor' => __DIR__ .
'/includes/libs/rdbms/loadmonitor/LoadMonitor.php',
+ 'Wikimedia\\Rdbms\\LoadMonitorMySQL' => __DIR__ .
'/includes/libs/rdbms/loadmonitor/LoadMonitorMySQL.php',
+ 'Wikimedia\\Rdbms\\LoadMonitorNull' => __DIR__ .
'/includes/libs/rdbms/loadmonitor/LoadMonitorNull.php',
'Wikimedia\\Rdbms\\SessionConsistentConnectionManager' => __DIR__ .
'/includes/libs/rdbms/connectionmanager/SessionConsistentConnectionManager.php',
'Wikimedia\\Rdbms\\TransactionProfiler' => __DIR__ .
'/includes/libs/rdbms/TransactionProfiler.php',
'WikitextContent' => __DIR__ . '/includes/content/WikitextContent.php',
diff --git a/includes/libs/rdbms/loadbalancer/LoadBalancer.php
b/includes/libs/rdbms/loadbalancer/LoadBalancer.php
index 78f905c..baac3d0 100644
--- a/includes/libs/rdbms/loadbalancer/LoadBalancer.php
+++ b/includes/libs/rdbms/loadbalancer/LoadBalancer.php
@@ -21,8 +21,10 @@
* @ingroup Database
*/
use Psr\Log\LoggerInterface;
+use Psr\Log\NullLogger;
use Wikimedia\ScopedCallback;
use Wikimedia\Rdbms\TransactionProfiler;
+use Wikimedia\Rdbms\ILoadMonitor;
/**
* Database connection, tracking, load balancing, and transaction manager for
a cluster
@@ -195,7 +197,7 @@
};
foreach ( [ 'replLogger', 'connLogger', 'queryLogger',
'perfLogger' ] as $key ) {
- $this->$key = isset( $params[$key] ) ? $params[$key] :
new \Psr\Log\NullLogger();
+ $this->$key = isset( $params[$key] ) ? $params[$key] :
new NullLogger();
}
$this->host = isset( $params['hostname'] )
@@ -212,7 +214,17 @@
*/
private function getLoadMonitor() {
if ( !isset( $this->loadMonitor ) ) {
+ $compat = [
+ 'LoadMonitor' =>
Wikimedia\Rdbms\LoadMonitor::class,
+ 'LoadMonitorNull' =>
Wikimedia\Rdbms\LoadMonitorNull::class,
+ 'LoadMonitorMySQL' =>
Wikimedia\Rdbms\LoadMonitorMySQL::class,
+ ];
+
$class = $this->loadMonitorConfig['class'];
+ if ( isset( $compat[$class] ) ) {
+ $class = $compat[$class];
+ }
+
$this->loadMonitor = new $class(
$this, $this->srvCache, $this->memCache,
$this->loadMonitorConfig );
$this->loadMonitor->setLogger( $this->replLogger );
@@ -1472,8 +1484,9 @@
/**
* @param IDatabase $conn
- * @param DBMasterPos|false $pos
+ * @param DBMasterPos|bool $pos
* @param int $timeout
+ * @return bool
*/
public function safeWaitForMasterPos( IDatabase $conn, $pos = false,
$timeout = 10 ) {
if ( $this->getServerCount() <= 1 || !$conn->getLBInfo(
'replica' ) ) {
diff --git a/includes/libs/rdbms/loadmonitor/ILoadMonitor.php
b/includes/libs/rdbms/loadmonitor/ILoadMonitor.php
index 14a52c5..38097fc 100644
--- a/includes/libs/rdbms/loadmonitor/ILoadMonitor.php
+++ b/includes/libs/rdbms/loadmonitor/ILoadMonitor.php
@@ -20,7 +20,12 @@
* @file
* @ingroup Database
*/
+
+namespace Wikimedia\Rdbms;
+
use Psr\Log\LoggerAwareInterface;
+use BagOStuff;
+use ILoadBalancer;
/**
* An interface for database load monitoring
diff --git a/includes/libs/rdbms/loadmonitor/LoadMonitor.php
b/includes/libs/rdbms/loadmonitor/LoadMonitor.php
index da4909d..f1a6d07 100644
--- a/includes/libs/rdbms/loadmonitor/LoadMonitor.php
+++ b/includes/libs/rdbms/loadmonitor/LoadMonitor.php
@@ -19,8 +19,14 @@
* @ingroup Database
*/
+namespace Wikimedia\Rdbms;
+
use Psr\Log\LoggerInterface;
+use Psr\Log\NullLogger;
use Wikimedia\ScopedCallback;
+use ILoadBalancer;
+use IDatabase;
+use BagOStuff;
/**
* Basic DB load monitor with no external dependencies
@@ -49,7 +55,7 @@
$this->parent = $lb;
$this->srvCache = $srvCache;
$this->mainCache = $cache;
- $this->replLogger = new \Psr\Log\NullLogger();
+ $this->replLogger = new NullLogger();
$this->movingAveRatio = isset( $options['movingAveRatio'] )
? $options['movingAveRatio']
diff --git a/includes/libs/rdbms/loadmonitor/LoadMonitorMySQL.php
b/includes/libs/rdbms/loadmonitor/LoadMonitorMySQL.php
index e374794..afb3a23 100644
--- a/includes/libs/rdbms/loadmonitor/LoadMonitorMySQL.php
+++ b/includes/libs/rdbms/loadmonitor/LoadMonitorMySQL.php
@@ -19,6 +19,12 @@
* @ingroup Database
*/
+namespace Wikimedia\Rdbms;
+
+use ILoadBalancer;
+use IDatabase;
+use BagOStuff;
+
/**
* Basic MySQL load monitor with no external dependencies
* Uses memcached to cache the replication lag for a short time
diff --git a/includes/libs/rdbms/loadmonitor/LoadMonitorNull.php
b/includes/libs/rdbms/loadmonitor/LoadMonitorNull.php
index c4e25dc..0a84e33 100644
--- a/includes/libs/rdbms/loadmonitor/LoadMonitorNull.php
+++ b/includes/libs/rdbms/loadmonitor/LoadMonitorNull.php
@@ -18,7 +18,12 @@
* @file
* @ingroup Database
*/
+
+namespace Wikimedia\Rdbms;
+
use Psr\Log\LoggerInterface;
+use ILoadBalancer;
+use BagOStuff;
class LoadMonitorNull implements ILoadMonitor {
public function __construct(
--
To view, visit https://gerrit.wikimedia.org/r/334388
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Icc178acb5ba0e21d1a8e857c43724c694c7ebeb1
Gerrit-PatchSet: 8
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Aaron Schulz <[email protected]>
Gerrit-Reviewer: Addshore <[email protected]>
Gerrit-Reviewer: Krinkle <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits