Page MenuHomePhabricator

Stop referencing rev_id as signed int in revtag table to counter revision id overflow in wikidatawiki
Closed, ResolvedPublic

Description

  1. ALTERs to run: https://gerrit.wikimedia.org/r/c/mediawiki/extensions/Translate/+/1032721/2/sql/mysql/patch-revtag-int-to-bigint-unsigned.sql
  2. Where to run those changes: All wikis with Translate extension
  3. When to run those changes: At any time, wikidatawiki is urgent.
  4. If the schema change is backwards compatible: Yes.
  5. If the schema change has been tested already on some of the test/beta wikis: Has been deployed to beta cluster
  6. If the data should be made available on the labs replicas and/or dumps: No changes needed

Progress

  • s3
  • s4
  • s5
  • s7
  • s8

'wmgUseTranslate' => [
	'default' => false,
	'advisorswiki' => true, // T189181
	'amwikimedia' => true, // T180879
	'azwikimedia' => true,
	'bewikimedia' => true, // T39391
	'betawikiversity' => true, // T160120
	'brwikimedia' => true, // T46054
	'bdwikimedia' => true, // T188853
	'cawikimedia' => true, // T75394
	'collabwiki' => true,
	'commonswiki' => true, // T50620
	'testcommonswiki' => true, // T50620
	'foundationwiki' => true, // T205349
	'frwiktionary' => true, // T138972
	'gewikimedia' => true, // T236389
	'grwikimedia' => true, // T245911
	'hiwikimedia' => true,
	'idwikimedia' => true, // T204292
	'incubatorwiki' => true, // T36213
	'legalteamwiki' => true, // T64610
	'maiwikimedia' => true,
	'mediawikiwiki' => true,
	'metawiki' => true,
	'nowikimedia' => true, // T152490
	'otrs_wikiwiki' => true, // T63297
	'outreachwiki' => true,
	'plwikimedia' => true, // T259087
	'ptwikisource' => true, // T339139
	'punjabiwikimedia' => true, // T204477
	'ruwikimedia' => true, // T121766
	'sourceswiki' => true, // T201814
	'specieswiki' => true, // T129888
	'sewikimedia' => true, // T239091
	'testwiki' => true,
	'uawikimedia' => true, // T131731
	'vewikimedia' => true,
	'wbwikimedia' => true, // T162510
	'wikidata' => true, // T43585
	'wikifunctionswiki' => true,
	'wikimania2012wiki' => true, // T36120
	'wikimania2013wiki' => true, // T38477
	'wikimania2014wiki' => true,
	'wikimania2015wiki' => true,
	'wikimania2016wiki' => true,
	'wikimania2017wiki' => true,
	'wikimania2018wiki' => true,
	'wikimaniawiki' => true,
],

Details

TitleReferenceAuthorSource BranchDest Branch
change_rt_page_T365352.py: New schema changerepos/sre/schema-changes!15marosteguiT365352main
Customize query in GitLab

Event Timeline

Zabe triaged this task as Unbreak Now! priority.Mon, May 20, 11:42 AM

rev_id surpassed 2^31 = 2147483648 on wikidatawiki, so this actually is very urgent on s8. The other shards are not urgent.

MariaDB [wikidatawiki_p]> select max(rev_id) from revision;
+-------------+
| max(rev_id) |
+-------------+
|  2159958624 |
+-------------+
1 row in set (0,001 sec)

MariaDB [wikidatawiki_p]>
Marostegui updated the task description. (Show Details)

Mentioned in SAL (#wikimedia-operations) [2024-05-20T11:47:31Z] <marostegui> Deploy urgent schema change on s8 eqiad with replication dbmaint T365352

s8 wikidata is done with replication directly on the master

CREATE TABLE `revtag` (
  `rt_type` varbinary(60) NOT NULL,
  `rt_page` bigint(20) unsigned NOT NULL,
  `rt_revision` bigint(20) unsigned NOT NULL,
  `rt_value` blob DEFAULT NULL,
  PRIMARY KEY (`rt_type`,`rt_page`,`rt_revision`),
  KEY `rt_revision_type` (`rt_revision`,`rt_type`)
) ENGINE=InnoDB DEFAULT CHARSET=binary ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8
Marostegui lowered the priority of this task from Unbreak Now! to Medium.Mon, May 20, 11:48 AM
Marostegui updated the task description. (Show Details)
Marostegui updated the task description. (Show Details)

Mentioned in SAL (#wikimedia-operations) [2024-05-20T11:56:18Z] <marostegui> Deploy schema change on s5 eqiad with replication dbmaint T365352

Mentioned in SAL (#wikimedia-operations) [2024-05-20T12:01:19Z] <marostegui> Deploy schema change on s4 eqiad with replication dbmaint T365352

s7 frwikitionary is done directly on the master with replication enabled, metawiki is a bit bigger and will require replica by replica schema change as the schema change there takes around 1 min.

Mentioned in SAL (#wikimedia-operations) [2024-05-20T12:52:04Z] <marostegui> Deploy schema change on s7 (only frwiktionary) eqiad with replication dbmaint T365352

Mentioned in SAL (#wikimedia-operations) [2024-05-21T05:00:31Z] <marostegui> Deploy schema change on s7 (metawiki) codfw dbmaint T365352

Mentioned in SAL (#wikimedia-operations) [2024-05-21T05:35:16Z] <marostegui> Deploy schema change on s7 (metawiki) eqiad dbmaint T365352

Marostegui updated the task description. (Show Details)

This is all done