Details
-
Improvement
-
Status: Done
-
Medium
-
Resolution: Fixed
-
3.5.0
-
None
-
Yes
-
Yes
-
40
Description
How to Repeat
$ prove -vw --trap --timer t/pt-table-checksum/ [20:14:42] t/pt-table-checksum/basics.t .................. 1..40 not ok 1 - Default checksum # Failed test 'Default checksum' # at t/pt-table-checksum/basics.t line 75. ok 2 - Between 25 and 60 chunks not ok 3 - Static chunk size (--chunk-time 0) # Failed test 'Static chunk size (--chunk-time 0)' # at t/pt-table-checksum/basics.t line 101. ok 4 - Between 75 and 90 chunks on master ok 5 - ... same number of chunks on slave Checking if all tables can be checksummed ... Starting checksum ... TS ERRORS DIFFS ROWS DIFF_ROWS CHUNKS SKIPPED TIME TABLE 12-20T20:15:39 0 1 600 0 602 0 22.358 sakila.city ok 6 - --replicate-check on by default, detects diff Checking if all tables can be checksummed ... Starting checksum ... ok 7 - --no-replicate-check, no diff detected Checking if all tables can be checksummed ... Starting checksum ... Checking if all tables can be checksummed ... Starting checksum ... ok 8 - --emptry-replicate-table on by default Checking if all tables can be checksummed ... Starting checksum ... ok 9 - --no-recheck (just --replicate-check) ok 10 - Detects infinite loop ok 11 - Upper boundary same as next lower boundary ok 12 - Skipped oversize chunks ok 13 - Oversize chunks are not errors ok 14 - Skipped chunk 2 ok 15 - Skipped 1 chunk (bug 1011738) ok 16 - Warns about skipping large slave table ok 17 - Does not checksum large slave table on master ok 18 - Does not checksum large slave table on slave ok 19 - Non-zero exit status ok 20 - 0 skipped ok 21 - 0 errors ok 22 - 52 rows checksummed ok 23 - --chunk-size-limit=0 does not disable \#-of-rows checks on slaves ok 24 - Warns when no slave are found (bug 1087804) ok 25 - Exit status 8 when no slaves are found (bug 1087804) ok 26 - --where in checksum chunk query ok 27 - --where in past lower chunk query ok 28 - --where in past upper chunk query ok 29 - --where in next chunk boundary query ok 30 - --where for first chunk ok 31 - --where for last chunk ok 32 - --where for lower oob chunk ok 33 - --where for upper oob chunk ok 34 - Bug 932442: 0 exit ok 35 - Bug 932442: 0 errors ok 36 - Bug 821675 (dot): queries ok 37 - Bug 821675 (dot): 0 exit ok 38 - Bug 821675 (dot): 0 errors Checking if all tables can be checksummed ... Starting checksum ... ok 39 - sql_mode ONLY_FULL_GROUP_BY is overidden ok 40 - Sandbox servers # Looks like you failed 2 tests of 40. Dubious, test returned 2 (wstat 512, 0x200) Failed 2/40 subtests [20:16:32] t/pt-table-checksum/bugs.t .................... ok 1 - Bug 995274 (undef array): zero exit status ok 2 - Bug 995274 (undef array): checksummed rows ok 3 - Bug 987393 (empty table): zero exit status ok 4 - Bug 987393 (empty table): no errors ok 5 - Bug 987393 (empty table): checksums ok 6 - Bug 987393 (Perl 5.8 scoping): no errors not ok 7 - Bug 987393 (Perl 5.8 scoping): checksummed table # Failed test 'Bug 987393 (Perl 5.8 scoping): checksummed table' # at t/pt-table-checksum/bugs.t line 2281. # got: '0' # expected: '109' ok 8 - Bug 1030031 (wrong DIFFS): 2 diffs ok 9 - Bug 1030031 (wrong DIFFS): 3 diffs ok 10 - Bug 1074179: ignore-tables-regex works with --replicate-check-only ok 11 - Bug 1016131: ptc should skip tables where all columns are excluded ok 12 - --skip-check-slave-lag ok 13 - Bugs 1075638 and 1050737: No division by zero error when nibble_time is zero ok 14 - Bug 1075638 and 1050737: ...And we get the correct number of diffs # Creating default databases ... # Starting MySQL test server on port 12348... return 0 # OK (3s) # Creating default databases ... # Starting MySQL test server on port 12349... return 0 # OK (2s) ok 15 - Bug 938068: doesn't warn if binlog_format=row or mixed on slaves ok 16 - ...and warns for both level 1 and level 2 slaves # Stopping MySQL test server on port 12349... OK (4s) # Stopping MySQL test server on port 12348... OK (2s) ok 17 - Bug 1210537: no crash with --recursion-method cluster ok 18 - Bug 1210537: tool ran ok 19 - Bug 1388870 - No false positive reported when system_tz differ on slave ok 20 - Sandbox servers 1..20 ok 6 - Bug 987393 (Perl 5.8 scoping): no errors not ok 7 - Bug 987393 (Perl 5.8 scoping): checksummed table # Failed test 'Bug 987393 (Perl 5.8 scoping): checksummed table' # at t/pt-table-checksum/bugs.t line 2281. # got: '0' # expected: '109' DBD::mysql::db do failed: Lost connection to MySQL server during query [for Statement "UPDATE test.t SET c='' WHERE id=5"] at t/pt-table-checksum/bugs.t line 2295. # Tests were run but no plan was declared and done_testing() was not seen. # Looks like your test exited with 255 just after 7. Dubious, test returned 255 (wstat 65280, 0xff00) Failed 1/20 subtests [20:18:52] t/pt-table-checksum/char_chunking.t ........... 1..6 ok 1 - Char chunk ascii, explain ok 2 - Char chunk ascii, chunk size 20 ok 3 - First boundaries ok 4 - Lower oob boundary ok 5 - Upper oob boundary ok 6 - Sandbox servers ok 7206 ms ( 0.01 usr 0.00 sys + 0.90 cusr 0.49 csys = 1.40 CPU) [20:18:59] t/pt-table-checksum/chunk_index.t ............. 1..14 ok 1 - Chooses chunk index by default ok 2 - Chooses chunk index if --chunk-index doesn't exist ok 3 - Use --chunk-index ok 4 - Chunks on left-most --chunk-index column ok 5 - Explicit --chunk-index overrides MySQL's index for --where ok 6 - Zero exit status (bug 925855) ok 7 - 0 skipped (bug 925855) ok 8 - 0 errors (bug 925855) ok 9 - 14 rows checksummed (bug 925855) ok 10 - Smarter chunk index selection (bug 978432) ok 11 - --chunk-index-columns ok 12 - --chunk-index-columns > number of index columns ok 13 - Initial key_len reflects --chunk-index-columns ok 14 - Sandbox servers ok 5965 ms ( 0.00 usr 0.00 sys + 0.98 cusr 0.46 csys = 1.44 CPU) [20:19:05] t/pt-table-checksum/chunk_size.t .............. 1..8 Checking if all tables can be checksummed ... Starting checksum ... ok 1 - First chunk is default size ok 2 - 2nd chunk lower boundary ok 3 - 2nd chunk is larger Checking if all tables can be checksummed ... Starting checksum ... ok 4 - Explicit --chunk-size disables auto chunk sizing ok 5 # skip Too slow DBD::mysql::db do failed: LOAD DATA LOCAL INFILE file request rejected due to restrictions on access. [for Statement "LOAD DATA LOCAL INFILE '/home/sveta/src/percona-toolkit/t/pt-table-checksum/samples/600cities.data' INTO TABLE test.t"] at t/pt-table-checksum/chunk_size.t line 114. # Looks like your test exited with 255 just after 5. Dubious, test returned 255 (wstat 65280, 0xff00) Failed 3/8 subtests (less 1 skipped subtest: 4 okay) [20:19:08] t/pt-table-checksum/create_replicate_table.t .. 1..5 Unknown option: no-create-replicate-table Usage: pt-table-checksum [OPTIONS] [DSN] Errors in command-line arguments: * Error parsing options pt-table-checksum performs an online replication consistency check by executing checksum queries on the master, which produces different results on replicas that are inconsistent with the master. The optional DSN specifies the master host. The tool's L<"EXIT STATUS"> is non-zero if any differences are found, or if any warnings or errors occur. For more details, please use the --help option, or try 'perldoc t/pt-table-checksum/create_replicate_table.t' for complete documentation. # Looks like your test exited with 1 before it could output anything. Dubious, test returned 1 (wstat 256, 0x100) Failed 5/5 subtests [20:19:09] t/pt-table-checksum/error_handling.t .......... 1..0 # SKIP TODO master master sandbox is failing with MySQL 8.0+. FIX ME !!!! skipped: TODO master master sandbox is failing with MySQL 8.0+. FIX ME !!!! [20:19:09] t/pt-table-checksum/filters.t ................. 1..9 ok 1 - --databases sakila ok 2 - --tables actor ok 3 - --tables sakila.actor ok 4 - --tables actor,film ok 5 - --tables sakila.actor,mysql.user ok 6 - -d sakila --engines MyISAM ok 7 - -d sakila --engines myisam ok 8 - --databases sakila --ignore-tables sakila.actor,sakila.address,category,city,payment ok 9 - Sandbox servers ok 1572 ms ( 0.01 usr 0.00 sys + 0.50 cusr 0.24 csys = 0.75 CPU) [20:19:10] t/pt-table-checksum/float_precision.t ......... 1..7 ok 1 - Got output ok 2 - No --float-precision, no rounding ok 3 - Got output ok 4 - Column a is rounded ok 5 - Column b is rounded ok 6 - Column b is not rounded inside ISNULL ok 7 - Sandbox servers ok 3126 ms ( 0.00 usr 0.00 sys + 0.36 cusr 0.17 csys = 0.53 CPU) [20:19:14] t/pt-table-checksum/fnv_64.t .................. 1..0 # SKIP No FNV_64 UDF lib skipped: No FNV_64 UDF lib [20:19:14] t/pt-table-checksum/ignore_columns.t .......... 1..4 ok 1 - Diff when column not ignored ok 2 - No diff when column ignored ok 3 - Ignored column is not in checksum query ok 4 - Sandbox servers ok 3125 ms ( 0.00 usr 0.00 sys + 0.39 cusr 0.20 csys = 0.59 CPU) [20:19:17] t/pt-table-checksum/issue_1485195.t ........... 1..2 not ok 1 - Large BLOB/TEXT/BINARY Checksum # Failed test 'Large BLOB/TEXT/BINARY Checksum' # at t/pt-table-checksum/issue_1485195.t line 43. # got: '31' # expected: '29' ok 2 - Sandbox servers # Looks like you failed 1 test of 2. Dubious, test returned 1 (wstat 256, 0x100) Failed 1/2 subtests [20:19:20] t/pt-table-checksum/issue_1592608.t ........... 1..2 ok 1 - Large BLOB/TEXT/BINARY Checksum ok 2 - Sandbox servers ok 4336 ms ( 0.00 usr 0.00 sys + 0.37 cusr 0.16 csys = 0.53 CPU) [20:19:25] t/pt-table-checksum/issue_1651002.t ........... 1..2 ok 1 - Large BLOB/TEXT/BINARY Checksum # Stopping the sandbox to leave a clean sandbox for the next test file ok 2 - Sandbox servers ok 3809 ms ( 0.00 usr 0.00 sys + 0.50 cusr 0.30 csys = 0.80 CPU) [20:19:28] t/pt-table-checksum/issue_388.t ............... 1..3 ok 1 - No error (issue 388) ok 2 - Checksums the table (issue 388) ok 3 - Sandbox servers ok 2313 ms ( 0.00 usr 0.00 sys + 0.40 cusr 0.13 csys = 0.53 CPU) [20:19:31] t/pt-table-checksum/issue_47.t ................ 1..3 Checking if all tables can be checksummed ... Starting checksum ... 12-20T20:19:32 Skipping chunk 5 of test.issue_47 because MySQL chose no index instead of the idxindex. not ok 1 - No error nibbling very large int # Failed test 'No error nibbling very large int' # at t/pt-table-checksum/issue_47.t line 50. # got: '32' # expected: '0' not ok 2 - Uses very large int as chunk boundary # Failed test 'Uses very large int as chunk boundary' # at t/pt-table-checksum/issue_47.t line 57. # Structures begin differing at: # $got->[4] = Does not exist # $expected->[4] = ARRAY(0x55b2d2826948) ok 3 - Sandbox servers # Looks like you failed 2 tests of 3. Dubious, test returned 2 (wstat 512, 0x200) Failed 2/3 subtests [20:19:33] t/pt-table-checksum/issue_602.t ............... 1..2 ok 1 - Checksums table despite invalid datetime ok 2 - Sandbox servers ok 3027 ms ( 0.00 usr 0.00 sys + 0.34 cusr 0.17 csys = 0.51 CPU) [20:19:36] t/pt-table-checksum/option_sanity.t ........... Can't exec "/home/sveta/src/percona-toolkit/bin/pt-table-checksum": Permission denied at t/pt-table-checksum/option_sanity.t line 28. not ok 1 - Default --check-replication-filters=TRUE # Failed test 'Default --check-replication-filters=TRUE' # at t/pt-table-checksum/option_sanity.t line 30. # '' # doesn't match '(?^m:^ --check-replication-filters\s+TRUE$)' not ok 2 - Default --create-replicate-table=TRUE # Failed test 'Default --create-replicate-table=TRUE' # at t/pt-table-checksum/option_sanity.t line 36. # '' # doesn't match '(?^m:^ --create-replicate-table\s+TRUE$)' not ok 3 - Default --empty-replicate-table=TRUE # Failed test 'Default --empty-replicate-table=TRUE' # at t/pt-table-checksum/option_sanity.t line 42. # '' # doesn't match '(?^m:^ --empty-replicate-table\s+TRUE$)' not ok 4 - Default --explain=0 # Failed test 'Default --explain=0' # at t/pt-table-checksum/option_sanity.t line 48. # '' # doesn't match '(?^m:^ --explain\s+0$)' not ok 5 - Default --host=localhost # Failed test 'Default --host=localhost' # at t/pt-table-checksum/option_sanity.t line 54. # '' # doesn't match '(?^m:^ --host\s+localhost$)' not ok 6 - Default --max-lag=1 # Failed test 'Default --max-lag=1' # at t/pt-table-checksum/option_sanity.t line 66. # '' # doesn't match '(?^m:^ --max-lag\s+1$)' not ok 7 - Default --quiet=0 # Failed test 'Default --quiet=0' # at t/pt-table-checksum/option_sanity.t line 72. # '' # doesn't match '(?^m:^ --quiet\s+0$)' not ok 8 - Default --replicate-check-only=FALSE # Failed test 'Default --replicate-check-only=FALSE' # at t/pt-table-checksum/option_sanity.t line 78. # '' # doesn't match '(?^m:^ --replicate-check-only\s+FALSE$)' not ok 9 - Default --replicate=percona.checksums # Failed test 'Default --replicate=percona.checksums' # at t/pt-table-checksum/option_sanity.t line 84. # '' # doesn't match '(?^m:^ --replicate\s+percona\.checksums$)' not ok 10 - Default --replicate-check=TRUE # Failed test 'Default --replicate-check=TRUE' # at t/pt-table-checksum/option_sanity.t line 90. # '' # doesn't match '(?^m:^ --replicate-check\s+TRUE$)' not ok 11 - --recursion-method is an array # Failed test '--recursion-method is an array' # at t/pt-table-checksum/option_sanity.t line 96. # '' # doesn't match '(?^m:^\s+--recursion-method=a)' not ok 12 - Default --recursion-method is processlist,hosts # Failed test 'Default --recursion-method is processlist,hosts' # at t/pt-table-checksum/option_sanity.t line 102. # '' # doesn't match '(?^m:^\s+--recursion-method\s+processlist,hosts)' Can't exec "/home/sveta/src/percona-toolkit/bin/pt-table-checksum": Permission denied at t/pt-table-checksum/option_sanity.t line 111. not ok 13 - --explain disables --empty-replicate-table # Failed test '--explain disables --empty-replicate-table' # at t/pt-table-checksum/option_sanity.t line 112. # '' # doesn't match '(?^m:^ --empty-replicate-table\s+FALSE$)' Can't exec "/home/sveta/src/percona-toolkit/bin/pt-table-checksum": Permission denied at t/pt-table-checksum/option_sanity.t line 118. not ok 14 - --resume disables --empty-replicate-table # Failed test '--resume disables --empty-replicate-table' # at t/pt-table-checksum/option_sanity.t line 119. # '' # doesn't match '(?^m:^ --empty-replicate-table\s+FALSE$)' Can't exec "/home/sveta/src/percona-toolkit/bin/pt-table-checksum": Permission denied at t/pt-table-checksum/option_sanity.t line 125. not ok 15 - --quiet disables --progress # Failed test '--quiet disables --progress' # at t/pt-table-checksum/option_sanity.t line 126. # '' # doesn't match '(?^m:^ --progress\s+\(No value\)$)' Can't exec "/home/sveta/src/percona-toolkit/bin/pt-table-checksum": Permission denied at t/pt-table-checksum/option_sanity.t line 132. not ok 16 - --chunk-size sets --chunk-time=0 # Failed test '--chunk-size sets --chunk-time=0' # at t/pt-table-checksum/option_sanity.t line 133. # '' # doesn't match '(?^m:^ --chunk-time\s+0$)' Can't exec "/home/sveta/src/percona-toolkit/bin/pt-table-checksum": Permission denied at t/pt-table-checksum/option_sanity.t line 142. not ok 17 - Only one DSN allowed on the command line # Failed test 'Only one DSN allowed on the command line' # at t/pt-table-checksum/option_sanity.t line 143. # '' # doesn't match '(?^:More than one host specified; only one allowed)' Can't exec "/home/sveta/src/percona-toolkit/bin/pt-table-checksum": Permission denied at t/pt-table-checksum/option_sanity.t line 152. not ok 18 - --replicate table must be database-qualified # Failed test '--replicate table must be database-qualified' # at t/pt-table-checksum/option_sanity.t line 153. # '' # doesn't match '(?^:--replicate table must be database-qualified)' Can't exec "/home/sveta/src/percona-toolkit/bin/pt-table-checksum": Permission denied at t/pt-table-checksum/option_sanity.t line 162. not ok 19 - --chunk-size-limit must be >= 1 or 0 # Failed test '--chunk-size-limit must be >= 1 or 0' # at t/pt-table-checksum/option_sanity.t line 163. # '' # doesn't match '(?^:chunk-size-limit must be >= 1 or 0 to disable)' Can't exec "/home/sveta/src/percona-toolkit/bin/pt-table-checksum": Permission denied at t/pt-table-checksum/option_sanity.t line 173. not ok 20 - Validates --max-load # Failed test 'Validates --max-load' # at t/pt-table-checksum/option_sanity.t line 174. # '' # doesn't match '(?^:Invalid --max-load)' 1..20 # Looks like you failed 20 tests of 20. Dubious, test returned 20 (wstat 5120, 0x1400) Failed 20/20 subtests [20:19:36] t/pt-table-checksum/plugin.t .................. ok 1 - Called all plugins on basic run ok 2 - Called all plugins on replicate-check run ok 3 - Sandbox servers 1..3 ok 2308 ms ( 0.00 usr 0.00 sys + 0.41 cusr 0.16 csys = 0.57 CPU) [20:19:39] t/pt-table-checksum/privs.t ................... ok 1 - Error if percona db doesn't exist and user can't create it # Tests were run but no plan was declared and done_testing() was not seen. # Looks like your test exited with 1 just after 1. Dubious, test returned 1 (wstat 256, 0x100) All 1 subtests passed [20:19:39] t/pt-table-checksum/progress.t ................ 1..5 ok 1 - --progress for slave lag ok 2 - Checksumming continues after waiting for slave lag ok 3 - No errors after waiting for slave lag ok 4 - --progress for --replicate table (bug 1008778) ERROR: Tables are different on master: mysql.db ERROR: Tables are different on slave1: mysql.db ERROR: Tables are different on slave2: mysql.db not ok 5 - Sandbox servers # Failed test 'Sandbox servers' # at t/pt-table-checksum/progress.t line 146. Bailout called. Further testing stopped: t/pt-table-checksum/progress.t broke the sandbox Bail out! t/pt-table-checksum/progress.t broke the sandbox FAILED--Further testing stopped: t/pt-table-checksum/progress.t broke the sandbox
Suggested Fix
Identify which tests fail, because badly written and which show real issues with code, fix either tests or code.