Page MenuHomePhabricator

Standardize extra-port for mariadb instances
Open, LowPublic

Description

The current status:

  • the following instances have extra-port set:
    • core single-instance hosts (via modules/role/templates/mariadb/mysqld_config/production.my.cnf.erb): 3307
    • m3 multi-instance hosts (via modules/profile/templates/mariadb/mysqld_config/phabricator_instance.my.cnf.erb): 3343
  • profile::mariadb::ferm assumes the extra-port is port+20 for multi-instances.

In T257033 we standardized the mapping of section name to mariadb port for multiinstance hosts.
In https://gerrit.wikimedia.org/r/c/operations/puppet/+/644453 we added a new mapping entry for x2 at 3330.

From conversation with @Marostegui, the core single-instance hosts are the most important ones to have, which are already covered.

It would be good to have a standard mapping for extra-port's so we can make sure we don't end up with conflicts.

Event Timeline

LSobanski moved this task from Refine to Backlog on the DBA board.

Other SREs brought up this ticket (difficulty of finding the extra port) during the "Incident replay: 2021-09-26 slow RC queries on s1" meeting (regular port got overloaded).

It would be nice to add a --extra-port option to at least, e.g. mysql.py as while in panic (middle of an outage) it is difficult to make the port calculations in your mind, and not well documented. A quick hack could be done easily, but a proper implementation, will require changing section_ports.csv on puppet and how wmfmariadbpy.dbutils work.