Page MenuHomePhabricator

Set up a way to persist non-default number of wikireplicas connections across all instances
Closed, ResolvedPublic

Description

Since we no longer have few wikireplica servers with only one instance each, the maintain-dbusers script or a similar faculty needs to maintain the max_user_connections of those users who have gone through our approval process for increases.

Normally, we record those at modules/role/templates/mariadb/grants/wiki-replicas.sql in puppet. Currently there are only 3 of them.

-- quarry user granted 48 connections #T180141
GRANT USAGE ON *.* TO 's52788'@'%' WITH MAX_USER_CONNECTIONS 48;
-- user for wikiscan granted 15 connections T227462
GRANT USAGE ON *.* TO 'u12903'@'%' WITH MAX_USER_CONNECTIONS 15;
-- catscan2 (petscan) user granted 40 connections T255730
GRANT USAGE ON *.* TO 's51156'@'%' WITH MAX_USER_CONNECTIONS 40;

Event Timeline

Andrew triaged this task as Medium priority.Dec 8 2020, 5:11 PM
Andrew moved this task from Inbox to Soon! on the cloud-services-team (Kanban) board.

Change 657890 had a related patch set uploaded (by Bstorm; owner: Bstorm):
[operations/puppet@production] data-services: apply user variances to future creations

https://gerrit.wikimedia.org/r/657890

That patch is kind of a half-measure. Something like a cookbook might make sense for applying a new "quota".

Change 657890 merged by Bstorm:
[operations/puppet@production] data-services: apply user variances to future creations

https://gerrit.wikimedia.org/r/657890

At this point, we have the variances in the user creation script (which is only useful for catchups and rebuilds). I think without a better way of managing the users in an idempotent fashion, we aren't going to get much further than that. Next step is just to place the grant on all the new servers and close this up.

I've set the updated limit on all the new replica servers. Now just need to add something to the docs.