Page MenuHomePhabricator

Allow use of EtcdConfig to configure slave databases
Closed, ResolvedPublic

Description

One of the most annoying parts of the current way we configure MediaWiki in production is the need for constantly deploying changes for simple actions like:

  • pooling/depooling databases
  • changing the database weights
  • changing the functions a DB server performs (watchlist, recentchanges, vslow, and so on

This basically means being able to populate:

  • $wgLBFactoryConf['sectionLoads][$shard]` with a k: v hash of db labels and weights
  • `$wgLBFactoryConf['groupLoadsBySection'][$shard][$function] with a k:v hash of db labels and weights

I don't think we should keep that data structure in the variables we'll add to confctl; we should instead aim at making it easy to edit and thus more resistant to mistakes. So first order of business will be to design such data structures.

Event Timeline

Joe triaged this task as Medium priority.
Joe updated the task description. (Show Details)

@Joe can this be considered done already with dbctl?

Joe claimed this task.

Indeed! we're doing more than this!