|T216208 ToolsDB overload and cleanup
|T216441 Evaluate transferring the non-replicated tables to the new toolsdb server
|T236101 Find a way to remove non-replicated tables from ToolsDB
|T301951 toolsdb: full disk on clouddb1001 broke clouddb1002 (secondary) replication
|T301967 toolsdb: evaluate storage usage by some tools
|T291782 Migrate largest ToolsDB users to Trove
|T350862 [toolsdb] Migrate mixnmatch db to Trove
I am open to this, as I already have a Trove instance for baglama2, and it works well (after some initial problems).
The difference here is that for baglama2, I (that is, a script I run, essentially) control when things are written to the database, so I could just not run that script while the SQL dump was transferred.
Mix'n'match is driven by user interaction, so it would have to be offline for the entire time of the transfer. I don't see an easy way to transfer a dump and then update it either, unless you can set a Trove instance as a DB slave (or whatever word we use these days), and then just pause Mix'n'match for a minute or so to make the Trove instance master.
I would appreciate ideas for this.
Migrating the data will definitely take some time, I explored a few options in T328691: [toolsdb] Migrate linkwatcher db to Trove and eventually used mydumper to generate SQL backups and import them into Trove.
In the case of Linkwatcher, I gave up on the idea of replicating from the old database, but the linkwatcher database had additional complications (and was almost 10 times the size).
My strategy here would be:
- create a SQL backup with mysqldump or mydumper
- import the backup into Trove
- configure Trove to replicate from ToolsDB, replicating only that single db
- when replication catches up and the two DBs are in sync, change the tool config to point to Trove
It should be theoretically possible, but I have never done it before. :) I'm happy to take care of steps 1, 2 and 3, but I'm not sure if I'm gonna work on this immediately. If we find other ways to stop the ToolsDB OOM errors (T349695), this task becomes less urgent.