The following errors were found when running pt-table-checksum on testwiki:
06-30T09:19:03 Error checksumming table testwiki.change_tag: Use of uninitialized value in string ne at /usr/bin/pt-table-checksum line 6682. 06-30T09:19:04 Cannot checksum table testwiki.click_tracking: There is no good index and the table is oversized. at /usr/bin/pt-table-checksum line 6408. 06-30T09:19:23 Skipping chunk 3 of testwiki.querycache because it is oversized. The current chunk size limit is 2000 rows (chunk size=1000 * chunk size limit=2.0), but MySQL estimates that there are 2462 rows in the chunk. 06-30T09:19:23 Error checksumming table testwiki.querycache: Possible infinite loop detected! The lower boundary for chunk 4 is <Deadendpages, Deadendpages, 0> and the lower boundary for chunk 5 is also <Deadendpages, Deadendpages, 0>. This usually happens when using a non-unique single column index. The current chunk index for table testwiki.querycache is qc_type which is not unique and covers 2 columns. 06-30T09:19:28 Skipping chunk 1 of testwiki.tag_summary because MySQL chose no index instead of the tag_summary_log_idindex. 06-30T09:19:28 Error checksumming table testwiki.tag_summary: Use of uninitialized value in string ne at /usr/bin/pt-table-checksum line 6682.
While computed checksums were the same on all production hosts, except labsdb hosts, the following non-existent tables broke replication from db1069:
Error 'Table 'testwiki.accountaudit_login' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.blob_orphans' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.blob_tracking' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.bv2009_edits' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.cu_changes' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.cu_log' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.edit_page_tracking' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.email_capture' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.filejournal' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.hidden' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.job' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.log_search' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.logging_pre_1_10' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.moodbar_feedback' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.moodbar_feedback_response' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.objectcache' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.pr_index' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.prefstats' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.prefswitch_survey' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.profiling' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.querycache' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.querycache_info' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.querycachetwo' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.securepoll_cookie_match' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.securepoll_elections' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.securepoll_entity' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.securepoll_lists' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.securepoll_msgs' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.securepoll_options' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.securepoll_properties' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.securepoll_questions' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.securepoll_strike' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.securepoll_voters' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.securepoll_votes' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.spoofuser' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.text' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.titlekey' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.transcache' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.uploadstash' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.user_newtalk' doesn't exist' on query. Default database: 'testwiki'. Error 'Table 'testwiki.watchlist' doesn't exist' on query. Default database: 'testwiki'.
Only some core tables from a whitelist should be checked- those that are InnoDB, have primary keys and exist everywhere.
Create such a list.