HomePhabricator

* Introduced LBFactory -- an abstract class for configuring database load…

Description

  • 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

Details

Provenance
tstarlingAuthored on
Parents
rMW0472f032018d: Fix syntax error
Branches
Unknown
Tags
Unknown
ChangeId
None