* Introduced LBFactory -- an abstract class for configuring database load balancers...
authorTim Starling <tstarling@users.mediawiki.org>
Sun, 30 Mar 2008 09:48:15 +0000 (09:48 +0000)
committerTim Starling <tstarling@users.mediawiki.org>
Sun, 30 Mar 2008 09:48:15 +0000 (09:48 +0000)
commitfbfb509df557ca9eef812f6645459c483149f186
treebf21e0d870c3ba8483d3bcc734ec4dbc4e120da7
parent0472f032018dfeff5d9b65b126df006d0f3983c3
* Introduced LBFactory -- an abstract class for configuring database load balancers and connecting to foreign DBs.
* Wrote two concrete implementations. LBFactory_Simple is for general installations. LBFactory_Multi will replace the runtime configuration used on Wikimedia and allow load-balanced connections to any DB.
* Ported Special:Userrights, CentralAuth and OAI audit to the LBFactory system.
* Added ForeignDBViaLBRepo, a file repository which uses LBFactory.
* Removed $wgLoadBalancer and $wgAlternateMaster
* Improved the query group concept to allow failover and lag control
* Improved getReaderIndex(), it will now try all servers before waiting, instead of waiting after each.
* Removed the $fail parameter to getConnection(), obsolete.
* Removed the useless force() function.
* Abstracted the replication position interface to allow for future non-MySQL support.
* Rearranged Database.php. Added a few debugging features.
* Removed ancient benet-specific hack from waitForSlave.php
27 files changed:
includes/AutoLoader.php
includes/BagOStuff.php
includes/Database.php
includes/DatabaseOracle.php
includes/DatabasePostgres.php
includes/DefaultSettings.php
includes/ExternalStoreDB.php
includes/GlobalFunctions.php
includes/LBFactory.php [new file with mode: 0644]
includes/LBFactory_Multi.php [new file with mode: 0644]
includes/LoadBalancer.php
includes/Setup.php
includes/SiteConfiguration.php
includes/Skin.php
includes/UserRightsProxy.php
includes/Wiki.php
includes/api/ApiMain.php
includes/api/ApiQuerySiteinfo.php
includes/filerepo/ForeignDBViaLBRepo.php [new file with mode: 0644]
index.php
maintenance/eval.php
maintenance/fixSlaveDesync.php
maintenance/getLagTimes.php
maintenance/getSlaveServer.php
maintenance/nextJobDB.php
maintenance/updateSpecialPages.php
maintenance/waitForSlave.php