Page MenuHomePhabricator

[Task] Convert wb_terms term_row_id from INT to BIGINT on wikidatawiki
Closed, ResolvedPublic

Description

Schema change to apply:
https://phabricator.wikimedia.org/diffusion/EWBA/browse/master/repo/sql/MakeRowIDsBig.sql

Has already been applied to testwikidatawiki, so only wikidatawiki is left. Can be deployed at any time.

Details

Reference
bz60539

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 22 2014, 2:51 AM
bzimport set Reference to bz60539.

see also bug 47135 and https://gerrit.wikimedia.org/r/#/c/99637/

the actual sql patch needed is Wikibase/repo/sql/MakeRowIDsBig.sql

Noting testwikidatawiki is already updated

per sean, this is not done yet and is not a high priority right now (but not forgotten)

bigint is not needed quite yet, given table size, and the smaller primary index is not a bad thing at the moment.

(but the change shall be done at some point)

Lydia_Pintscher removed a subscriber: Unknown Object (MLST).
Lydia_Pintscher removed a subscriber: Unknown Object (MLST).

Err. it looks like nothing more needs to be done ( except the deployment ). Reassigning this back to Sean.

Krenair subscribed.

The highest id is 559610286 now so this is not urgent at the moment, but should still be done at some point.

@hoo: new procedure (I am trying to advertise this as much as possible so changes are not lost): https://wikitech.wikimedia.org/wiki/Schema_changes

hoo renamed this task from convert wb_terms term_row_id from INT to BIGINT to [Task] Convert wb_terms term_row_id from INT to BIGINT on wikidatawiki.Jan 7 2016, 1:08 AM
hoo updated the task description. (Show Details)
hoo removed a project: Schema-change-in-production.

@hoo: new procedure (I am trying to advertise this as much as possible so changes are not lost): https://wikitech.wikimedia.org/wiki/Schema_changes

I changed the task description to (hopefully) include all the information you need.

@hoo thanks for taking the time, I will reward following the procedure with preference on the queue of pending changes. Sadly, I cannot guarantee this to be done immediately, but probably will be scheduled for the week of the 19th of January.

The first alter has been done. I want to stall the second alter, even if it would be easier, to check how healthy things are.

Mentioned in SAL [2016-02-17T11:54:55Z] <jynus> restarting schema change on wikidatawiki (s5) T62539

Please confirm the change is correct, then resolve:

MariaDB [wikidatawiki]> SHOW CREATE TABLE wb_terms\G
*************************** 1. row ***************************
       Table: wb_terms
Create Table: CREATE TABLE `wb_terms` (
  `term_row_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `term_entity_id` int(10) unsigned NOT NULL,
  `term_entity_type` varbinary(32) NOT NULL,
  `term_language` varbinary(32) NOT NULL,
  `term_type` varbinary(32) NOT NULL,
  `term_text` varbinary(255) NOT NULL,
  `term_search_key` varbinary(255) NOT NULL,
  `term_weight` float unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`term_row_id`),
  KEY `wb_terms_entity_id` (`term_entity_id`),
  KEY `wb_terms_entity_type` (`term_entity_type`),
  KEY `wb_terms_language` (`term_language`),
  KEY `wb_terms_type` (`term_type`),
  KEY `wb_terms_text` (`term_text`),
  KEY `wb_terms_search_key` (`term_search_key`),
  KEY `tmp1` (`term_language`,`term_type`,`term_entity_type`,`term_search_key`)
) ENGINE=InnoDB AUTO_INCREMENT=602140225 DEFAULT CHARSET=binary
1 row in set (0.00 sec)

MariaDB [wikidatawiki]> SHOW CREATE TABLE wb_items_per_site\G
*************************** 1. row ***************************
       Table: wb_items_per_site
Create Table: CREATE TABLE `wb_items_per_site` (
  `ips_row_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `ips_item_id` int(10) unsigned NOT NULL,
  `ips_site_id` varbinary(32) NOT NULL,
  `ips_site_page` varbinary(310) NOT NULL,
  PRIMARY KEY (`ips_row_id`),
  UNIQUE KEY `wb_ips_item_site_page` (`ips_site_id`,`ips_site_page`),
  KEY `wb_ips_site_page` (`ips_site_page`),
  KEY `wb_ips_item_id` (`ips_item_id`)
) ENGINE=InnoDB AUTO_INCREMENT=558579131 DEFAULT CHARSET=binary
1 row in set (0.00 sec)

One week without feedback, closing as resolved.