jenkins-bot has submitted this change and it was merged. (
https://gerrit.wikimedia.org/r/334396 )
Change subject: Move LBFactory to Rdbms namespace
......................................................................
Move LBFactory to Rdbms namespace
Change-Id: I5ae10783228d0252284807c9562bc8e328d4becb
---
M autoload.php
M includes/GlobalFunctions.php
M includes/MediaWiki.php
M includes/MediaWikiServices.php
M includes/db/MWLBFactory.php
M includes/deferred/DeferredUpdates.php
M includes/installer/DatabaseInstaller.php
M includes/jobqueue/JobRunner.php
M includes/jobqueue/jobs/CategoryMembershipChangeJob.php
M includes/libs/rdbms/lbfactory/ILBFactory.php
M includes/libs/rdbms/lbfactory/LBFactory.php
M includes/libs/rdbms/lbfactory/LBFactoryMulti.php
M includes/libs/rdbms/lbfactory/LBFactorySimple.php
M includes/libs/rdbms/lbfactory/LBFactorySingle.php
M maintenance/Maintenance.php
M maintenance/wrapOldPasswords.php
M tests/phpunit/includes/MediaWikiServicesTest.php
M tests/phpunit/includes/db/LBFactoryTest.php
18 files changed, 80 insertions(+), 14 deletions(-)
Approvals:
Krinkle: Looks good to me, approved
jenkins-bot: Verified
diff --git a/autoload.php b/autoload.php
index 40aa7a3..970dff0 100644
--- a/autoload.php
+++ b/autoload.php
@@ -597,7 +597,6 @@
'IEUrlExtension' => __DIR__ . '/includes/libs/IEUrlExtension.php',
'IExpiringStore' => __DIR__ .
'/includes/libs/objectcache/IExpiringStore.php',
'IJobSpecification' => __DIR__ .
'/includes/jobqueue/JobSpecification.php',
- 'ILBFactory' => __DIR__ .
'/includes/libs/rdbms/lbfactory/ILBFactory.php',
'ILoadBalancer' => __DIR__ .
'/includes/libs/rdbms/loadbalancer/ILoadBalancer.php',
'ILocalizedException' => __DIR__ .
'/includes/exception/LocalizedException.php',
'IMaintainableDatabase' => __DIR__ .
'/includes/libs/rdbms/database/IMaintainableDatabase.php',
@@ -672,10 +671,6 @@
'JsonContentHandler' => __DIR__ .
'/includes/content/JsonContentHandler.php',
'KkConverter' => __DIR__ . '/languages/classes/LanguageKk.php',
'KuConverter' => __DIR__ . '/languages/classes/LanguageKu.php',
- 'LBFactory' => __DIR__ . '/includes/libs/rdbms/lbfactory/LBFactory.php',
- 'LBFactoryMulti' => __DIR__ .
'/includes/libs/rdbms/lbfactory/LBFactoryMulti.php',
- 'LBFactorySimple' => __DIR__ .
'/includes/libs/rdbms/lbfactory/LBFactorySimple.php',
- 'LBFactorySingle' => __DIR__ .
'/includes/libs/rdbms/lbfactory/LBFactorySingle.php',
'LCStore' => __DIR__ . '/includes/cache/localisation/LCStore.php',
'LCStoreCDB' => __DIR__ . '/includes/cache/localisation/LCStoreCDB.php',
'LCStoreDB' => __DIR__ . '/includes/cache/localisation/LCStoreDB.php',
@@ -1592,7 +1587,12 @@
'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\\ILBFactory' => __DIR__ .
'/includes/libs/rdbms/lbfactory/ILBFactory.php',
'Wikimedia\\Rdbms\\ILoadMonitor' => __DIR__ .
'/includes/libs/rdbms/loadmonitor/ILoadMonitor.php',
+ 'Wikimedia\\Rdbms\\LBFactory' => __DIR__ .
'/includes/libs/rdbms/lbfactory/LBFactory.php',
+ 'Wikimedia\\Rdbms\\LBFactoryMulti' => __DIR__ .
'/includes/libs/rdbms/lbfactory/LBFactoryMulti.php',
+ 'Wikimedia\\Rdbms\\LBFactorySimple' => __DIR__ .
'/includes/libs/rdbms/lbfactory/LBFactorySimple.php',
+ 'Wikimedia\\Rdbms\\LBFactorySingle' => __DIR__ .
'/includes/libs/rdbms/lbfactory/LBFactorySingle.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',
diff --git a/includes/GlobalFunctions.php b/includes/GlobalFunctions.php
index 5343248..46def53 100644
--- a/includes/GlobalFunctions.php
+++ b/includes/GlobalFunctions.php
@@ -28,6 +28,7 @@
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\Session\SessionManager;
use Wikimedia\ScopedCallback;
+use Wikimedia\Rdbms\LBFactory;
// Hide compatibility functions from Doxygen
/// @cond
diff --git a/includes/MediaWiki.php b/includes/MediaWiki.php
index 3e72d54..cfe4965 100644
--- a/includes/MediaWiki.php
+++ b/includes/MediaWiki.php
@@ -23,6 +23,7 @@
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\MediaWikiServices;
use Wikimedia\Rdbms\ChronologyProtector;
+use Wikimedia\Rdbms\LBFactory;
/**
* The MediaWiki class is the helper class for the index.php entry point.
diff --git a/includes/MediaWikiServices.php b/includes/MediaWikiServices.php
index 7c9363c..ac151e2 100644
--- a/includes/MediaWikiServices.php
+++ b/includes/MediaWikiServices.php
@@ -9,7 +9,7 @@
use GenderCache;
use GlobalVarConfig;
use Hooks;
-use LBFactory;
+use Wikimedia\Rdbms\LBFactory;
use LinkCache;
use Liuggio\StatsdClient\Factory\StatsdDataFactory;
use LoadBalancer;
diff --git a/includes/db/MWLBFactory.php b/includes/db/MWLBFactory.php
index 40418fd..b215acd 100644
--- a/includes/db/MWLBFactory.php
+++ b/includes/db/MWLBFactory.php
@@ -171,6 +171,17 @@
);
}
+ // For configuration backward compatibility after moving
classes to namespaces (1.29)
+ $compat = [
+ 'LBFactorySingle' =>
Wikimedia\Rdbms\LBFactorySingle::class,
+ 'LBFactorySimple' =>
Wikimedia\Rdbms\LBFactorySimple::class,
+ 'LBFactoryMulti' =>
Wikimedia\Rdbms\LBFactoryMulti::class
+ ];
+
+ if ( isset( $compat[$class] ) ) {
+ $class = $compat[$class];
+ }
+
return $class;
}
}
diff --git a/includes/deferred/DeferredUpdates.php
b/includes/deferred/DeferredUpdates.php
index 1ba6c1f..05256ae 100644
--- a/includes/deferred/DeferredUpdates.php
+++ b/includes/deferred/DeferredUpdates.php
@@ -20,6 +20,7 @@
* @file
*/
use MediaWiki\MediaWikiServices;
+use Wikimedia\Rdbms\LBFactory;
/**
* Class for managing the deferred updates
diff --git a/includes/installer/DatabaseInstaller.php
b/includes/installer/DatabaseInstaller.php
index 50d73de..0305535 100644
--- a/includes/installer/DatabaseInstaller.php
+++ b/includes/installer/DatabaseInstaller.php
@@ -20,6 +20,7 @@
* @file
* @ingroup Deployment
*/
+use Wikimedia\Rdbms\LBFactorySingle;
/**
* Base class for DBMS-specific installation helper classes.
diff --git a/includes/jobqueue/JobRunner.php b/includes/jobqueue/JobRunner.php
index cacccbe..baff288 100644
--- a/includes/jobqueue/JobRunner.php
+++ b/includes/jobqueue/JobRunner.php
@@ -27,6 +27,7 @@
use Psr\Log\LoggerAwareInterface;
use Psr\Log\LoggerInterface;
use Wikimedia\ScopedCallback;
+use Wikimedia\Rdbms\LBFactory;
/**
* Job queue runner utility methods
diff --git a/includes/jobqueue/jobs/CategoryMembershipChangeJob.php
b/includes/jobqueue/jobs/CategoryMembershipChangeJob.php
index a52ff06..3a0063c 100644
--- a/includes/jobqueue/jobs/CategoryMembershipChangeJob.php
+++ b/includes/jobqueue/jobs/CategoryMembershipChangeJob.php
@@ -20,6 +20,7 @@
* @file
*/
use MediaWiki\MediaWikiServices;
+use Wikimedia\Rdbms\LBFactory;
/**
* Job to add recent change entries mentioning category membership changes
diff --git a/includes/libs/rdbms/lbfactory/ILBFactory.php
b/includes/libs/rdbms/lbfactory/ILBFactory.php
index 5288c24..3e0800a 100644
--- a/includes/libs/rdbms/lbfactory/ILBFactory.php
+++ b/includes/libs/rdbms/lbfactory/ILBFactory.php
@@ -21,6 +21,14 @@
* @ingroup Database
*/
+namespace Wikimedia\Rdbms;
+
+use InvalidArgumentException;
+use ILoadBalancer;
+use LoadBalancer;
+use DBTransactionError;
+use DBReplicationWaitError;
+
/**
* An interface for generating database load balancers
* @ingroup Database
@@ -178,7 +186,7 @@
* @param string $fname Caller name
* @param array $options Options map:
* - maxWriteDuration: abort if more than this much time was spent in
write queries
- * @throws Exception
+ * @throws DBTransactionError
*/
public function commitMasterChanges( $fname = __METHOD__, array
$options = [] );
diff --git a/includes/libs/rdbms/lbfactory/LBFactory.php
b/includes/libs/rdbms/lbfactory/LBFactory.php
index f580eeb..7a2ad3f 100644
--- a/includes/libs/rdbms/lbfactory/LBFactory.php
+++ b/includes/libs/rdbms/lbfactory/LBFactory.php
@@ -21,10 +21,21 @@
* @ingroup Database
*/
+namespace Wikimedia\Rdbms;
+
use Psr\Log\LoggerInterface;
use Wikimedia\ScopedCallback;
-use Wikimedia\Rdbms\TransactionProfiler;
-use Wikimedia\Rdbms\ChronologyProtector;
+use BagOStuff;
+use EmptyBagOStuff;
+use WANObjectCache;
+use DatabaseDomain;
+use Exception;
+use RuntimeException;
+use ILoadBalancer;
+use IDatabase;
+use LoadBalancer;
+use DBTransactionError;
+use DBReplicationWaitError;
/**
* An interface for generating database load balancers
diff --git a/includes/libs/rdbms/lbfactory/LBFactoryMulti.php
b/includes/libs/rdbms/lbfactory/LBFactoryMulti.php
index 4158e61..643b110 100644
--- a/includes/libs/rdbms/lbfactory/LBFactoryMulti.php
+++ b/includes/libs/rdbms/lbfactory/LBFactoryMulti.php
@@ -21,6 +21,13 @@
* @ingroup Database
*/
+namespace Wikimedia\Rdbms;
+
+use LoadBalancer;
+use IDatabase;
+use DatabaseDomain;
+use InvalidArgumentException;
+
/**
* A multi-database, multi-master factory for Wikimedia and similar
installations.
* Ignores the old configuration globals.
diff --git a/includes/libs/rdbms/lbfactory/LBFactorySimple.php
b/includes/libs/rdbms/lbfactory/LBFactorySimple.php
index 5bf5032..1f5f93f 100644
--- a/includes/libs/rdbms/lbfactory/LBFactorySimple.php
+++ b/includes/libs/rdbms/lbfactory/LBFactorySimple.php
@@ -21,6 +21,11 @@
* @ingroup Database
*/
+namespace Wikimedia\Rdbms;
+
+use LoadBalancer;
+use InvalidArgumentException;
+
/**
* A simple single-master LBFactory that gets its configuration from the b/c
globals
*/
diff --git a/includes/libs/rdbms/lbfactory/LBFactorySingle.php
b/includes/libs/rdbms/lbfactory/LBFactorySingle.php
index 819375d..f992643 100644
--- a/includes/libs/rdbms/lbfactory/LBFactorySingle.php
+++ b/includes/libs/rdbms/lbfactory/LBFactorySingle.php
@@ -21,6 +21,13 @@
* @ingroup Database
*/
+namespace Wikimedia\Rdbms;
+
+use LoadBalancerSingle;
+use IDatabase;
+use InvalidArgumentException;
+use BadMethodCallException;
+
/**
* An LBFactory class that always returns a single database object.
*/
diff --git a/maintenance/Maintenance.php b/maintenance/Maintenance.php
index 3925efe..62dc36c 100644
--- a/maintenance/Maintenance.php
+++ b/maintenance/Maintenance.php
@@ -38,6 +38,7 @@
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\MediaWikiServices;
+use Wikimedia\Rdbms\LBFactory;
/**
* Abstract maintenance class for quickly writing and churning out
diff --git a/maintenance/wrapOldPasswords.php b/maintenance/wrapOldPasswords.php
index 0a859c0..85fa780 100644
--- a/maintenance/wrapOldPasswords.php
+++ b/maintenance/wrapOldPasswords.php
@@ -1,4 +1,7 @@
<?php
+
+use MediaWiki\MediaWikiServices;
+
/**
* Maintenance script to wrap all old-style passwords in a layered type
*
@@ -71,6 +74,7 @@
$typeCond = 'user_password' . $dbw->buildLike( ":$firstType:",
$dbw->anyString() );
$minUserId = 0;
+ $lbFactory =
MediaWikiServices::getInstance()->getDBLoadBalancerFactory();
do {
$this->beginTransaction( $dbw, __METHOD__ );
@@ -113,7 +117,7 @@
}
$this->commitTransaction( $dbw, __METHOD__ );
- LBFactory::waitForReplication();
+ $lbFactory->waitForReplication();
// Clear memcached so old passwords are wiped out
foreach ( $updateUsers as $user ) {
diff --git a/tests/phpunit/includes/MediaWikiServicesTest.php
b/tests/phpunit/includes/MediaWikiServicesTest.php
index dc0c64c..cc95e38 100644
--- a/tests/phpunit/includes/MediaWikiServicesTest.php
+++ b/tests/phpunit/includes/MediaWikiServicesTest.php
@@ -7,6 +7,7 @@
use MediaWiki\Services\DestructibleService;
use MediaWiki\Services\SalvageableService;
use MediaWiki\Services\ServiceDisabledException;
+use Wikimedia\Rdbms\LBFactory;
/**
* @covers MediaWiki\MediaWikiServices
@@ -308,7 +309,7 @@
'SearchEngineFactory' => [ 'SearchEngineFactory',
SearchEngineFactory::class ],
'SearchEngineConfig' => [ 'SearchEngineConfig',
SearchEngineConfig::class ],
'SkinFactory' => [ 'SkinFactory', SkinFactory::class ],
- 'DBLoadBalancerFactory' => [ 'DBLoadBalancerFactory',
'LBFactory' ],
+ 'DBLoadBalancerFactory' => [ 'DBLoadBalancerFactory',
Wikimedia\Rdbms\LBFactory::class ],
'DBLoadBalancer' => [ 'DBLoadBalancer', 'LoadBalancer'
],
'WatchedItemStore' => [ 'WatchedItemStore',
WatchedItemStore::class ],
'WatchedItemQueryService' => [
'WatchedItemQueryService', WatchedItemQueryService::class ],
diff --git a/tests/phpunit/includes/db/LBFactoryTest.php
b/tests/phpunit/includes/db/LBFactoryTest.php
index 1a52dde..92c8add 100644
--- a/tests/phpunit/includes/db/LBFactoryTest.php
+++ b/tests/phpunit/includes/db/LBFactoryTest.php
@@ -1,5 +1,7 @@
<?php
+use Wikimedia\Rdbms\LBFactorySimple;
+use Wikimedia\Rdbms\LBFactoryMulti;
use Wikimedia\Rdbms\ChronologyProtector;
/**
@@ -54,9 +56,12 @@
public function getLBFactoryClassProvider() {
return [
# Format: new class, old class
- [ 'LBFactorySimple', 'LBFactory_Simple' ],
- [ 'LBFactorySingle', 'LBFactory_Single' ],
- [ 'LBFactoryMulti', 'LBFactory_Multi' ],
+ [ Wikimedia\Rdbms\LBFactorySimple::class,
'LBFactory_Simple' ],
+ [ Wikimedia\Rdbms\LBFactorySingle::class,
'LBFactory_Single' ],
+ [ Wikimedia\Rdbms\LBFactoryMulti::class,
'LBFactory_Multi' ],
+ [ Wikimedia\Rdbms\LBFactorySimple::class,
'LBFactorySimple' ],
+ [ Wikimedia\Rdbms\LBFactorySingle::class,
'LBFactorySingle' ],
+ [ Wikimedia\Rdbms\LBFactoryMulti::class,
'LBFactoryMulti' ],
];
}
--
To view, visit https://gerrit.wikimedia.org/r/334396
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I5ae10783228d0252284807c9562bc8e328d4becb
Gerrit-PatchSet: 7
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Aaron Schulz <[email protected]>
Gerrit-Reviewer: Krinkle <[email protected]>
Gerrit-Reviewer: Parent5446 <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits