Comment 2 for bug 1642468

Revision history for this message
Peter McLarty (peter-mclarty) wrote :

AWS testbed
Linux ip-172-31-14-91.ap-southeast-2.compute.internal 2.6.32-642.11.1.el6.x86_64 #1 SMP Wed Oct 26 10:25:23 EDT 2016 x86_64 x86_64 x86_64 GNU/Linux

+-------------------------+---------------------------------+
| Variable_name | Value |
+-------------------------+---------------------------------+
| innodb_version | 5.6.32-79.0 |
| protocol_version | 10 |
| slave_type_conversions | |
| version | 10.1.19-MariaDB |
| version_comment | MariaDB Server |
| version_compile_machine | x86_64 |
| version_compile_os | Linux |
| version_malloc_library | system jemalloc |
| version_ssl_library | OpenSSL 1.0.1e-fips 11 Feb 2013 |
| wsrep_patch_version | wsrep_25.16 |
+-------------------------+---------------------------------+

MariaDB [(none)]> use percona;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [percona]> show tables;
+-------------------+
| Tables_in_percona |
+-------------------+
| checksums  |
+-------------------+
1 row in set (0.00 sec)

[root@ip-172-31-25-91 ~]# perl -MDBD::mysql\ 9999
DBD::mysql version 9999 required--this is only version 4.013.
BEGIN failed--compilation aborted.

Only thing seemingly in common is that DBD::mysql is the same version across all systems

MariaDB [(none)]> show variables like '%char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

Production Host with issue

MariaDB [(none)]> show variables like '%version%';
+-------------------------+---------------------------------+
| Variable_name | Value |
+-------------------------+---------------------------------+
| innodb_version | 5.6.28-76.1 |
| protocol_version | 10 |
| slave_type_conversions | |
| version | 10.1.13-MariaDB |
| version_comment | MariaDB Server |
| version_compile_machine | x86_64 |
| version_compile_os | Linux |
| version_malloc_library | system jemalloc |
| version_ssl_library | OpenSSL 1.0.1e-fips 11 Feb 2013 |
| wsrep_patch_version | wsrep_25.13 |
+-------------------------+---------------------------------+

Database changed
MariaDB [percona]> show tables;
+-------------------+
| Tables_in_percona |
+-------------------+
| checksums |
| checksums  |
+-------------------+
2 rows in set (0.00 sec)
I had been renaming hence the two tables

MariaDB [(none)]> show variables like '%char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

[root@hostname tmp]# perl -MDBD::mysql\ 9999
DBD::mysql version 9999 required--this is only version 4.013.
BEGIN failed--compilation aborted.

Linux hostname 2.6.32-504.12.2.el6.x86_64 #1 SMP Sun Feb 1 12:14:02 EST 2015 x86_64 x86_64 x86_64 GNU/Linux

From debugging the perl there is a trailing space in the table creation script

pt_table_checksum::create_repl_table(/usr/bin/pt-table-checksum:11282):
11282: if ( $EVAL_ERROR ) {
  DB<68> x $sql
0 ' CREATE TABLE IF NOT EXISTS `percona`.`checksums ` (
     db CHAR(64) NOT NULL,
     tbl CHAR(64) NOT NULL,
     chunk INT NOT NULL,
     chunk_time FLOAT NULL,
     chunk_index VARCHAR(200) NULL,
     lower_boundary TEXT NULL,
     upper_boundary TEXT NULL,
     this_crc CHAR(40) NOT NULL,
     this_cnt INT NOT NULL,
     master_crc CHAR(40) NULL,
     master_cnt INT NULL,
     ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
     PRIMARY KEY (db, tbl, chunk),
     INDEX ts_db_tbl (ts, db, tbl)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8'
  DB<69> s
pt_table_checksum::create_repl_table(/usr/bin/pt-table-checksum:11286):
11286: return;

In a different database server I get a different table

MariaDB [percona]> show tables;
+-------------------+
| Tables_in_percona |
+-------------------+
| checksums  |
+-------------------+
1 row in set (0.00 sec)

MariaDB [percona]> drop table checksums;
ERROR 1051 (42S02): Unknown table 'percona.checksums'
MariaDB [percona]> show global variables like '%version%';
+-------------------------+---------------------------------+
| Variable_name | Value |
+-------------------------+---------------------------------+
| innodb_version | 5.6.30-76.3 |
| protocol_version | 10 |
| slave_type_conversions | |
| tokudb_version | 5.6.30-76.3 |
| version | 10.1.16-MariaDB |
| version_comment | MariaDB Server |
| version_compile_machine | x86_64 |
| version_compile_os | Linux |
| version_malloc_library | system jemalloc |
| version_ssl_library | OpenSSL 1.0.1e-fips 11 Feb 2013 |
| wsrep_patch_version | wsrep_25.13 |
+-------------------------+---------------------------------+

MariaDB [percona]> show global variables like '%char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

This also appears to be an issue with Redhat I notice that the client charset is latin1 on the last server and UTF8 on the others. I think this is the source of the random A in the name