S5 dewiki revision table needs fixing in its PK and its UNIQUE key like it was done with S4 commonswiki (T147305).
This is the current state (I have excluded both RC slaves)
root@neodymium:/home/marostegui/git/software/dbtools# for i in `cat s5.hosts | egrep -v "db2038|db1026|dbstore2001|db1069" | cut -f1 -d " "`; do echo $i; mysql -h$i dewiki -e "show create table revision\G"| egrep "PRIMARY|UNIQUE";done dbstore2002.codfw.wmnet PRIMARY KEY (`rev_page`,`rev_id`), UNIQUE KEY `rev_id` (`rev_id`), db2045.codfw.wmnet PRIMARY KEY (`rev_page`,`rev_id`), UNIQUE KEY `rev_id` (`rev_id`), db2052.codfw.wmnet PRIMARY KEY (`rev_page`,`rev_id`), UNIQUE KEY `rev_id` (`rev_id`), db2059.codfw.wmnet PRIMARY KEY (`rev_page`,`rev_id`), UNIQUE KEY `rev_id` (`rev_id`), db2066.codfw.wmnet PRIMARY KEY (`rev_page`,`rev_id`), UNIQUE KEY `rev_id` (`rev_id`), db2023.codfw.wmnet PRIMARY KEY (`rev_page`,`rev_id`), UNIQUE KEY `rev_id` (`rev_id`), labsdb1001.eqiad.wmnet PRIMARY KEY (`rev_page`,`rev_id`), UNIQUE KEY `rev_id` (`rev_id`), labsdb1003.eqiad.wmnet PRIMARY KEY (`rev_page`,`rev_id`), UNIQUE KEY `rev_id` (`rev_id`), dbstore1001.eqiad.wmnet PRIMARY KEY (`rev_page`,`rev_id`), UNIQUE KEY `rev_id` (`rev_id`), dbstore1002.eqiad.wmnet PRIMARY KEY (`rev_page`,`rev_id`), UNIQUE KEY `rev_id` (`rev_id`), db1045.eqiad.wmnet PRIMARY KEY (`rev_page`,`rev_id`), UNIQUE KEY `rev_id` (`rev_id`), db1070.eqiad.wmnet PRIMARY KEY (`rev_page`,`rev_id`), UNIQUE KEY `rev_id` (`rev_id`), db1071.eqiad.wmnet PRIMARY KEY (`rev_page`,`rev_id`), UNIQUE KEY `rev_id` (`rev_id`), db1082.eqiad.wmnet PRIMARY KEY (`rev_page`,`rev_id`), UNIQUE KEY `rev_id` (`rev_id`), db1087.eqiad.wmnet PRIMARY KEY (`rev_page`,`rev_id`), UNIQUE KEY `rev_id` (`rev_id`), db1092.eqiad.wmnet PRIMARY KEY (`rev_page`,`rev_id`), UNIQUE KEY `rev_id` (`rev_id`), db1049.eqiad.wmnet PRIMARY KEY (`rev_page`,`rev_id`), UNIQUE KEY `rev_id` (`rev_id`),
So the table can look like this:
*************************** 1. row *************************** Table: revision Create Table: CREATE TABLE `revision` ( `rev_id` int(8) unsigned NOT NULL AUTO_INCREMENT, `rev_page` int(8) unsigned NOT NULL DEFAULT '0', `rev_text_id` int(8) unsigned NOT NULL DEFAULT '0', `rev_comment` varbinary(255) NOT NULL, `rev_user` int(5) unsigned NOT NULL DEFAULT '0', `rev_user_text` varbinary(255) NOT NULL DEFAULT '', `rev_timestamp` varbinary(14) NOT NULL DEFAULT '', `rev_minor_edit` tinyint(1) unsigned NOT NULL DEFAULT '0', `rev_deleted` tinyint(1) unsigned NOT NULL DEFAULT '0', `rev_len` int(8) unsigned DEFAULT NULL, `rev_parent_id` int(8) unsigned DEFAULT NULL, `rev_sha1` varbinary(32) NOT NULL DEFAULT '', `rev_content_model` varbinary(32) DEFAULT NULL, `rev_content_format` varbinary(64) DEFAULT NULL, PRIMARY KEY (`rev_id`), KEY `rev_timestamp` (`rev_timestamp`), KEY `page_timestamp` (`rev_page`,`rev_timestamp`), KEY `user_timestamp` (`rev_user`,`rev_timestamp`), KEY `usertext_timestamp` (`rev_user_text`,`rev_timestamp`), KEY `page_user_timestamp` (`rev_page`,`rev_user`,`rev_timestamp`), KEY `rev_page_id` (`rev_page`,`rev_id`) ) ENGINE=InnoDB AUTO_INCREMENT=159496703 DEFAULT CHARSET=binary
So the following command needs to be executed - I will start with codfw hosts:
#./software/dbtools/osc_host.sh --host=xxx --port=3306 --db=dewiki --table=revision --method=ddl --no-replicate "DROP index rev_id, DROP PRIMARY KEY, ADD PRIMARY KEY (rev_id)"