Page MenuHomePhabricator

Add a link engineering: create tables in Wikimedia production
Open, Stalled, Needs TriagePublic

Description

Create the tables defined in T261410: Add a link engineering: Create MySQL table for caching link recommendations in Wikimedia production.

For now this is just a reminder; we want to wait until the DB code is a bit more stable.

Event Timeline

Tgr created this task.Oct 31 2020, 12:05 AM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptOct 31 2020, 12:05 AM
Tgr changed the task status from Open to Stalled.Oct 31 2020, 12:05 AM

@Tgr we're probably getting close enough to do this, I'll let you mark as unstalled and put into Ready for Development if you agree we're ready.

Tgr added a comment.Jan 19 2021, 3:29 AM

I'd delay this until we are ready to deploy, it saves the effort of having to do schema changes.

@Tgr do you think we're close enough to do this now, and then deploy the puppet change to run refreshLinkRecommendations.php? AIUI the search functionality for hasrecommendation:link is in place, and the DB schema seems unlikely to change at this moment.

I said this in Slack, but I want to note this here as well. Before creation, we need to decide whether the table should be replicated to Toolforge wiki replicas, and tell DBA to make sure correct filtering is set in place. See T272957 as an example of past task asking for a table to be marked as private.

Tgr claimed this task.Sun, Feb 21, 9:48 PM
Tgr moved this task from Incoming to In Progress on the Growth-Team (Current Sprint) board.

I'll look into sanitization, then create the tables.

Tgr changed the task status from Stalled to Open.Sun, Feb 21, 9:49 PM

I'll look into sanitization, then create the tables.

For the record, adding to $private_tables in puppet should be enough. @Marostegui is the expert on that through :).

That's correct, they need to be added there, before they get added to production.
Once the patch is ready, add me as a reviewer so I can merge and restart mysql on sanitarium hosts, so they pick the new replicating filters excluding those tables.

Thank you!

Change 666216 had a related patch set uploaded (by Gergő Tisza; owner: Gergő Tisza):
[operations/puppet@production] Add GrowthExperiments tables to private_tables

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

Change 666216 merged by Kormat:
[operations/puppet@production] Add GrowthExperiments tables to private_tables

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

Mentioned in SAL (#wikimedia-operations) [2021-02-23T09:40:11Z] <kormat@cumin1001> START - Cookbook sre.hosts.downtime for 1:30:00 on 6 hosts with reason: Restart mariadb to pick up config changes T266913

Mentioned in SAL (#wikimedia-operations) [2021-02-23T09:40:18Z] <kormat@cumin1001> END (PASS) - Cookbook sre.hosts.downtime (exit_code=0) for 1:30:00 on 6 hosts with reason: Restart mariadb to pick up config changes T266913

Kormat added a subscriber: Kormat.Tue, Feb 23, 9:44 AM

https://gerrit.wikimedia.org/r/666216 is deployed to all sanitarium hosts, and mariadb has been restarted to pick it up. Let me know when the tables are created, so i can double-check that they don't get replicated.

Tgr changed the task status from Open to Stalled.Tue, Feb 23, 2:27 PM

I thought about this and I think we should leave table creation to the last moment. It's fast, schema changes in production are a hassle, and the recommendation caching logic is complicated, so let's wait until it passed product review on beta.