Page MenuHomePhabricator

Deploy schema change for adding term_full_entity_id column to wb_terms table
Closed, ResolvedPublic

Description

This new column needs to be added soon. We decided to do it for masters during the switchover.

Related Objects

StatusSubtypeAssignedTask
OpenNone
OpenNone
DuplicateNone
OpenFeatureNone
OpenFeatureNone
DuplicateNone
ResolvedNone
ResolvedNone
ResolvedNone
DuplicateNone
InvalidLydia_Pintscher
OpenNone
OpenNone
StalledNone
OpenNone
ResolvedAddshore
Resolvedthiemowmde
ResolvedAddshore
DeclinedNone
OpenNone
Resolvedhoo
ResolvedLydia_Pintscher
ResolvedNone
DeclinedNone
InvalidLydia_Pintscher
ResolvedLadsgroup
ResolvedAddshore
ResolvedLadsgroup
DeclinedNone
ResolvedMarostegui

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

Mentioned in SAL (#wikimedia-operations) [2017-04-24T06:12:32Z] <marostegui@naos> Synchronized wmf-config/db-eqiad.php: Repool db1092, depoll db1087 - T162539 T163548 (duration: 02m 19s)

db1087 is done:

root@neodymium:/home/marostegui/git/software/dbtools# mysql --skip-ssl -hdb1087 wikidatawiki -e "show create table wb_terms\G" | egrep "term_full_entity_id|term_search_full"
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))

Change 349953 had a related patch set uploaded (by Marostegui):
[operations/mediawiki-config@master] db-eqiad.php: Depool db1082

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

Mentioned in SAL (#wikimedia-operations) [2017-04-24T13:11:03Z] <marostegui> Deploy alter table on wikidatawiki.wb_terms on db1063 - T162539 https://phabricator.wikimedia.org/T163548

Mentioned in SAL (#wikimedia-operations) [2017-04-24T13:12:04Z] <marostegui> Deploy alter table on wikidatawiki.wb_terms on db1082 - T162539 - T163548

Change 349953 abandoned by Marostegui:
db-eqiad.php: Depool db1082

Reason:
not needed

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

db1082 is done:

root@neodymium:~# mysql --skip-ssl -hdb1082 wikidatawiki -e "show create table wb_terms\G" | egrep "term_full_entity_id|term_search_full"
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))

Change 350119 had a related patch set uploaded (by Marostegui):
[operations/mediawiki-config@master] db-eqiad.php: Depool db1071 and db1026

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

Change 350119 merged by jenkins-bot:
[operations/mediawiki-config@master] db-eqiad.php: Depool db1071 and db1026

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

Mentioned in SAL (#wikimedia-operations) [2017-04-25T06:06:12Z] <marostegui@naos> Synchronized wmf-config/db-eqiad.php: Repool db1071, depool db1026 - T162539 T163548 (duration: 01m 17s)

db1071 and db1063 are done:

root@neodymium:~# mysql --skip-ssl -hdb1071 wikidatawiki -e "show create table wb_terms\G" | egrep "term_full_entity_id|term_search_full"
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))
root@neodymium:~# mysql --skip-ssl -hdb1063 wikidatawiki -e "show create table wb_terms\G" | egrep "term_full_entity_id|term_search_full"
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))

Change 350369 had a related patch set uploaded (by Marostegui):
[operations/mediawiki-config@master] db-eqiad.php: Repool db1071

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

Change 350369 merged by jenkins-bot:
[operations/mediawiki-config@master] db-eqiad.php: Repool db1071

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

Mentioned in SAL (#wikimedia-operations) [2017-04-26T06:56:08Z] <marostegui@naos> Synchronized wmf-config/db-eqiad.php: Repool db1071 - T162539 T163548 (duration: 02m 24s)

db1026 is done

root@neodymium:~# mysql --skip-ssl -hdb1026 wikidatawiki -e "show create table wb_terms\G" | egrep "term_full_entity_id|term_search_full"
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))

Change 350411 had a related patch set uploaded (by Marostegui):
[operations/mediawiki-config@master] db-eqiad.php: Repool db1026

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

Change 350411 merged by jenkins-bot:
[operations/mediawiki-config@master] db-eqiad.php: Repool db1026, depool db1045

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

Mentioned in SAL (#wikimedia-operations) [2017-04-26T14:00:30Z] <marostegui@naos> Synchronized wmf-config/db-eqiad.php: Repool db1026, depool db1045 - T162539 T163548 (duration: 00m 53s)

For the record: the alter on labsdb1001 has been killed because we ran out of space there, same thing will happen on labsdb1003, so we need to find a solution for those two hosts before applying this change.
If we start using this column before it is applied there, it will break replication on labs.

For the record: the alter on labsdb1001 has been killed because we ran out of space there, same thing will happen on labsdb1003, so we need to find a solution for those two hosts before applying this change.
If we start using this column before it is applied there, it will break replication on labs.

We have hotfixed the issue by removing an unused partition and adding it to the main volume. So l am re-running the ALTER on labsdb1001 now.

labsdb1001 is done:

[root@labsdb1001 05:57 /root]
# mysql  wikidatawiki -e "show create table wb_terms\G" | egrep "term_full_entity_id|term_search_full"
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))

Mentioned in SAL (#wikimedia-operations) [2017-04-27T06:11:00Z] <marostegui> Deploy alter table on s5 (wikidatawiki) on db1070 (running locally instead of neodymium as this host will be affected by the network maintenance) - T130067 T162539

I am altering db1070 locally, instead of from neodymium as this host is going to be affected by: T162681
I ran it with set session sql_log_bin=0

db1069 is done:

root@db1069:~# mysql -S /tmp/mysql.s5.sock --skip-ssl wikidatawiki -e "show create table wb_terms\G" | egrep "term_full_entity_id|term_search_full"
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))

db1070 is done:

root@neodymium:/home/marostegui/git/software/dbtools# mysql --skip-ssl -hdb1070 wikidatawiki -e "show create table wb_terms\G" | egrep "term_full_entity_id|term_search_full"
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))

db1049 is done:

root@neodymium:~# mysql --skip-ssl -hdb1049 wikidatawiki -e "show create table wb_terms\G" | egrep "term_full_entity_id|term_search_full"
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))

db1045 is done:

root@neodymium:~# mysql --skip-ssl -hdb1045 wikidatawiki -e "show create table wb_terms\G" | egrep "term_full_entity_id|term_search_full"
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))

All the eqiad core hosts (dbstore servers pending) are now done.
This is not yet finished and this column cannot be used until this ticket gets fully resolved as it is not present on codfw yet

Change 350798 had a related patch set uploaded (by Marostegui; owner: Marostegui):
[operations/mediawiki-config@master] db-eqiad.php: Repool db1045

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

Change 350798 merged by jenkins-bot:
[operations/mediawiki-config@master] db-eqiad.php: Repool db1045

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

Mentioned in SAL (#wikimedia-operations) [2017-04-28T07:58:44Z] <marostegui@naos> Synchronized wmf-config/db-eqiad.php: Repool db1045 - T162539 T163548 (duration: 02m 38s)

Mentioned in SAL (#wikimedia-operations) [2017-05-04T06:03:48Z] <marostegui> Deploy alter table on wikidatawiki.wb_terms - dbstore2002 - T162539 T163548

Change 351766 had a related patch set uploaded (by Marostegui; owner: Marostegui):
[operations/mediawiki-config@master] db-codfw.php: Depool db2066

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

Change 351766 merged by jenkins-bot:
[operations/mediawiki-config@master] db-codfw.php: Depool db2066

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

Mentioned in SAL (#wikimedia-operations) [2017-05-04T06:10:09Z] <marostegui@naos> Synchronized wmf-config/db-codfw.php: Depool db2066 - T162539 T163548 (duration: 01m 25s)

Mentioned in SAL (#wikimedia-operations) [2017-05-04T06:10:26Z] <marostegui> Deploy alter table on wikidatawiki.wb_terms - db2066 - T162539 T163548

db2066 is done:

root@neodymium:~# mysql --skip-ssl -hdb2066.codfw.wmnet wikidatawiki -e "show create table wb_terms\G" | egrep "term_full_entity_id|term_search_full"
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))

Change 351858 had a related patch set uploaded (by Marostegui; owner: Marostegui):
[operations/mediawiki-config@master] db-codfw.php: Repool db2066, depool db2059

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

Change 351858 merged by jenkins-bot:
[operations/mediawiki-config@master] db-codfw.php: Repool db2066, depool db2059

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

Mentioned in SAL (#wikimedia-operations) [2017-05-04T15:14:28Z] <marostegui@naos> Synchronized wmf-config/db-codfw.php: Repool db2066, depool db2059 - T162539 T163548 (duration: 01m 06s)

db2059 is done:

root@neodymium:~# mysql --skip-ssl -hdb2059.codfw.wmnet wikidatawiki -e "show create table wb_terms\G" | egrep "term_full_entity_id|term_search_full"
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))

dbstore2002 is done:

root@neodymium:~# mysql --skip-ssl -hdbstore2002.codfw.wmnet wikidatawiki -e "show create table wb_terms\G" | egrep "term_full_entity_id|term_search_full"
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))

Change 352076 had a related patch set uploaded (by Marostegui; owner: Marostegui):
[operations/mediawiki-config@master] db-codfw.php: Repool db2059, depool db2052

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

Change 352076 merged by jenkins-bot:
[operations/mediawiki-config@master] db-codfw.php: Repool db2059, depool db2052

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

Mentioned in SAL (#wikimedia-operations) [2017-05-05T05:55:01Z] <marostegui@tin> Synchronized wmf-config/db-codfw.php: Repool db2059, depool db2052 - T162539 T163548 (duration: 00m 40s)

Mentioned in SAL (#wikimedia-operations) [2017-05-05T05:55:19Z] <marostegui> Deploy alter table on wikidatawiki.wb_terms - db2052 - T162539 T163548

db2052 is done:

root@neodymium:/home/marostegui/git/software/dbtools# mysql --skip-ssl -hdb2052.codfw.wmnet wikidatawiki -e "show create table wb_terms\G" | egrep "term_full_entity_id|term_search_full"
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))

Change 352167 had a related patch set uploaded (by Marostegui; owner: Marostegui):
[operations/mediawiki-config@master] db-codfw.php: Repool db2052, depool db2045

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

Change 352167 merged by jenkins-bot:
[operations/mediawiki-config@master] db-codfw.php: Repool db2052, depool db2045

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

Mentioned in SAL (#wikimedia-operations) [2017-05-05T15:28:12Z] <marostegui@tin> Synchronized wmf-config/db-codfw.php: Repool db2052, depool db2045 - T162539 T163548 (duration: 00m 41s)

db2045 is done:

root@neodymium:~# mysql --skip-ssl -hdb2045.codfw.wmnet wikidatawiki -e "show create table wb_terms\G" | egrep "term_full_entity_id|term_search_full"
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))

dbstore2001 is done:

root@neodymium:~# mysql --skip-ssl -hdbstore2001.codfw.wmnet wikidatawiki -e "show create table wb_terms\G" | egrep "term_full_entity_id|term_search_full"
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))

dbstore1002 is done:

root@neodymium:~# mysql --skip-ssl -hdbstore1002 wikidatawiki -e "show create table wb_terms\G" | egrep "term_full_entity_id|term_search_full"
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))

Change 352543 had a related patch set uploaded (by Marostegui; owner: Marostegui):
[operations/mediawiki-config@master] db-codfw.php: Repool db2045, depool db2038

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

Change 352543 merged by jenkins-bot:
[operations/mediawiki-config@master] db-codfw.php: Repool db2045, depool db2038

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

Mentioned in SAL (#wikimedia-operations) [2017-05-08T06:18:18Z] <marostegui@tin> Synchronized wmf-config/db-codfw.php: Repool db2045, depool db2038 - T162539 T163548 (duration: 00m 40s)

db2038 is done:

root@neodymium:/home/marostegui/git/software/dbtools# mysql --skip-ssl -hdb2038.codfw.wmnet wikidatawiki -e "show create table wb_terms\G" | egrep "term_full_entity_id|term_search_full"
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))

Only pending host is the codfw master which will be done tomorrow morning.

Change 352607 had a related patch set uploaded (by Marostegui; owner: Marostegui):
[operations/mediawiki-config@master] db-codfw.php: Repool db2038

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

Change 352607 merged by jenkins-bot:
[operations/mediawiki-config@master] db-codfw.php: Repool db2038

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

Mentioned in SAL (#wikimedia-operations) [2017-05-09T06:01:53Z] <marostegui@tin> Synchronized wmf-config/db-codfw.php: Repool db2038 - T162539 T163548 (duration: 00m 41s)

Hey @Marostegui, I can't see db2023 (master in codfw) gets deplooed and repooled (maybe you don't do that for masters). But I don't know if this schema change is done for db2023 or not. Please tell me once it's done, so we deploy the config change.

Please @aude @Ladsgroup don't stress Marostegui! :-) As you can see he is currently working (very hard, I would say) on this, but you need to be patient. Schema changes take time, and they require careful checking after the fact. Marostegui or me will resolve this ticket or move it to the "Done" column when we are confident it is finished. Until then, even if you see it mostly completed, any deployment assuming this is done would risk a site-wide outage due to replication getting broken, and you probably do not want that!

You will be the first ones to know when this is ok to proceed.

My apologies. I was a little bit confused about the codfw master. Thanks for letting me know.

Hey @Marostegui, I can't see db2023 (master in codfw) gets deplooed and repooled (maybe you don't do that for masters). But I don't know if this schema change is done for db2023 or not. Please tell me once it's done, so we deploy the config change.

We do not pool/depool masters. That is why you don't see the change. The master is currently being altered. It will take a bit longer than the rest of hosts as the hardware is less powerful.

As Jaime said, you will clearly know when the whole shard is done. We will say so on the ticket and close it. Please be patient :-)

@jcrespo no hurry on our side. (was just more curious how this is going and seems good to me)

codfw master, db2023 is done:

root@neodymium:~# mysql --skip-ssl -hdb2023.codfw.wmnet wikidatawiki -e "show create table wb_terms\G" | egrep "term_full_entity_id|term_search_full"
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))

Mentioned in SAL (#wikimedia-operations) [2017-05-10T06:15:23Z] <marostegui> Deploy alter table wikidatawiki.wb_terms on dbstore1001 - T162539 T163190

dbstore1001 is done:

root@neodymium:/home/marostegui/git/software/dbtools# mysql --skip-ssl -hdbstore1001 wikidatawiki -e "show create table wb_terms\G" | egrep "term_full_entity_id|term_search_full"
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))

All hosts are done:

root@neodymium:/home/marostegui/git/software/dbtools# cat s5.hosts | while read host port; do echo $host; mysql --skip-ssl -h $host -P $port -e "show create table wikidatawiki.wb_terms\G" |  egrep "term_full_entity_id|term_search_full"; done
dbstore2002.codfw.wmnet
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))
dbstore2001.codfw.wmnet
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))
db2038.codfw.wmnet
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))
db2045.codfw.wmnet
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))
db2052.codfw.wmnet
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))
db2059.codfw.wmnet
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))
db2066.codfw.wmnet
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))
db2023.codfw.wmnet
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))
labsdb1001.eqiad.wmnet
ERROR 1045 (28000): Access denied for user 'root'@'10.64.32.20' (using password: YES)
labsdb1003.eqiad.wmnet
ERROR 1045 (28000): Access denied for user 'root'@'10.64.32.20' (using password: YES)
db1069.eqiad.wmnet
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))
dbstore1001.eqiad.wmnet
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))
dbstore1002.eqiad.wmnet
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))
db1026.eqiad.wmnet
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))
db1045.eqiad.wmnet
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))
db1049.eqiad.wmnet
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))
db1070.eqiad.wmnet
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))
db1071.eqiad.wmnet
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))
db1082.eqiad.wmnet
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))
db1087.eqiad.wmnet
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))
db1092.eqiad.wmnet
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))
db1063.eqiad.wmnet
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))
root@neodymium:/home/marostegui/git/software/dbtools# cumin 'labsdb100[1-3]*' 'sudo mysql --skip-ssl -e "show create table wikidatawiki.wb_terms\G" |  egrep "term_full_entity_id|term_search_full"'
2 hosts will be targeted:
labsdb[1001,1003].eqiad.wmnet
Confirm to continue [y/n]? y
===== NODE GROUP =====
(2) labsdb[1001,1003].eqiad.wmnet
----- OUTPUT of 'sudo mysql --ski...erm_search_full"' -----
  `term_full_entity_id` varbinary(32) DEFAULT NULL,
  KEY `term_full_entity` (`term_full_entity_id`),
  KEY `term_search_full` (`term_language`,`term_full_entity_id`,`term_type`,`term_search_key`(16))
================
PASS |████████████████████████████████████████████████████████████████████████████████| 100% (2/2) [00:00<00:00,  5.57hosts/s]
FAIL |                                                                                        |   0% (0/2) [00:00<?, ?hosts/s]
100.0% (2/2) success ratio (>= 100.0% threshold) for command: 'sudo mysql --ski...erm_search_full"'.
100.0% (2/2) success ratio (>= 100.0% threshold) of nodes successfully executed all commands.

i checked test wikidata (testwikidatawiki) and it needs the change also. the tables there tend to be small.

select count(*) from wb_terms;
+----------+
| count(*) |
+----------+
|   192947 |
+----------+

Is it safe to apply this schema change test wikidata on terbium? (like how we add new tables) me or someone else can do that, if it is ok.

i checked test wikidata (testwikidatawiki) and it needs the change also. the tables there tend to be small.

select count(*) from wb_terms;
+----------+
| count(*) |
+----------+
|   192947 |
+----------+

Is it safe to apply this schema change test wikidata on terbium? (like how we add new tables) me or someone else can do that, if it is ok.

Hi!

I can do that, however I am a bit confused, is it terbium what you really mean?

root@terbium:~# ps aux | grep mysql
root     22730  0.0  0.0  12728  2216 pts/1    S+   13:24   0:00 grep mysql

@Marostegui for small schema changes (e.g. adding a table, or for small wikis like test wikidata), we normally apply schema changes run it via mediawiki maintenance script:

https://www.mediawiki.org/wiki/Manual:Sql.php

We should just be sure it's okay to do this one this way

@Marostegui for small schema changes (e.g. adding a table, or for small wikis like test wikidata), we normally apply schema changes run it via mediawiki maintenance script:

https://www.mediawiki.org/wiki/Manual:Sql.php

We should just be sure it's okay to do this one this way

Sure, that is fine by me if you want to do it yourself, but on which host does that test wikidata database lives?

@aude: don't run update.php on s3 for altering a table- you will create lag
on 900 wikis unless connections are cleared and table is pre-warmed-up (and
appropiately tested).

Also, the only wiki mentioned here was wikidatawiki, you have to create a
separate request for other wikis.

@aude: don't run update.php on s3 for altering a table- you will create lag
on 900 wikis unless connections are cleared and table is pre-warmed-up (and
appropiately tested).

Also, the only wiki mentioned here was wikidatawiki, you have to create a
separate request for other wikis.

Ah, thanks for the good catch, I didn't know he meant s3 (I thought he was talking about another small host or something that wasn't on my radar, hence my two questions to see where that database he wanted to alter lives in, as I was planning to check the table size and if there were slaves or stuff).
I am glad you mentioned s3 now I have the full picture.

By the way:

root@db1075:/srv/sqldata/testwikidatawiki# ls -lh wb_terms.ibd
-rw-rw---- 1 mysql mysql 68M May 14 13:43 wb_terms.ibd

@jcrespo @Marostegui created T165246 for the task of adding the column on test wikidata.