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

Committed
tstarlingMar 30 2008, 9:48 AM
Parents
rSVN32577: Fix syntax error
Branches
Unknown
Tags
Unknown
ChangeId
None