Bug #90564 rpl_gtid.rpl_gtid_drop_table test fails
Submitted: 23 Apr 2018 7:15 Modified: 24 Apr 2018 10:53
Reporter: Valeriy Kravchuk Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Replication Severity:S3 (Non-critical)
Version:8.0.11 OS:Ubuntu
Assigned to: CPU Architecture:x86
Tags: ER_GTID_UNSAFE_BINLOG_SPLITTABLE_STATEMENT_AND_GTID_GROUP, GTID, test

[23 Apr 2018 7:15] Valeriy Kravchuk
Description:
rpl_gtid.rpl_gtid_drop_table test fails for me with MySQL 8.0.11 built from GitHub source on Ubuntu 14.04:

openxs@ao756:~/dbs/8.0/mysql-test$ ./mtr rpl_gtid.rpl_gtid_drop_table
Logging: ./mtr  rpl_gtid.rpl_gtid_drop_table
2018-04-23T07:01:13.171469Z 0 [Warning] [MY-010139] [Server] Changed limits: max_open_files: 1024 (requested 8161)
2018-04-23T07:01:13.171616Z 0 [Warning] [MY-010142] [Server] Changed limits: table_open_cache: 431 (requested 4000)
2018-04-23T07:01:13.172088Z 0 [System] [MY-010116] [Server] /home/openxs/dbs/8.0/bin/mysqld (mysqld 8.0.11) starting as process 31639
MySQL Version 8.0.11
Checking supported features...
 - SSL connections supported
Collecting tests...
 - adding combinations for rpl_gtid
Checking leftover processes...
Removing old var directory...
Creating var directory '/home/openxs/dbs/8.0/mysql-test/var'...
Installing system database...
Using parallel: 1

==============================================================================

TEST                                      RESULT   TIME (ms) or COMMENT
--------------------------------------------------------------------------

worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 13000..13009
rpl_gtid.rpl_gtid_drop_table 'mix'       [ fail ]
        Test ended at 2018-04-23 10:02:22

CURRENT_TEST: rpl_gtid.rpl_gtid_drop_table
mysqltest: In included file ./extra/rpl_tests/rpl_gtid_drop_table.inc at line 42:
included from /home/openxs/dbs/8.0/mysql-test/suite/rpl_gtid/t/rpl_gtid_drop_table.test at line 91:
At line 41: Unknown SQL error name 'ER_GTID_UNSAFE_BINLOG_SPLITTABLE_STATEMENT_AND_GTID_GROUP'

The result from queries just before the failure was:
< snip >
Note    ####    Sending passwords in plain text without SSL/TLS is extremely insecure.
Note    ####    Storing MySQL user name or password information in the master info repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START SLAVE; see the 'START SLAVE Syntax' in the MySQL Manual for more information.
Warnings:
Note    ####    Sending passwords in plain text without SSL/TLS is extremely insecure.
Note    ####    Storing MySQL user name or password information in the master info repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START SLAVE; see the 'START SLAVE Syntax' in the MySQL Manual for more information.
include/rpl_default_connections.inc
#
# First part
#
[connection master]
CREATE TABLE trans_t1 (c1 INT) ENGINE=InnoDB;
CREATE TABLE non_trans_t1 (c1 INT) ENGINE=MyISAM;
CREATE TEMPORARY TABLE temp_trans_t1 (c1 INT) ENGINE=InnoDB;
CREATE TEMPORARY TABLE temp_non_trans_t1 (c1 INT) ENGINE=MyISAM;
# Error cases ER_GTID_UNSAFE_BINLOG_SPLITTABLE_STATEMENT_AND_GTID_GROUP
SET GTID_NEXT= '11111111-1111-1111-1111-111111111111:1';
## Expecting error ER_GTID_UNSAFE_BINLOG_SPLITTABLE_STATEMENT_AND_GTID_GROUP after the statement
safe_process[31805]: Child process: 31806, exit: 1

 - the logfile can be found in '/home/openxs/dbs/8.0/mysql-test/var/log/rpl_gtid.rpl_gtid_drop_table-mix/rpl_gtid_drop_table.log'

Only  1  of 3 completed.
mysql-test-run: *** ERROR: Not all tests completed
openxs@ao756:~/dbs/8.0/mysql-test$

The error ER_GTID_UNSAFE_BINLOG_SPLITTABLE_STATEMENT_AND_GTID_GROUP was added in 5.6.20, but manual (https://dev.mysql.com/doc/refman/8.0/en/error-messages-server.html#error_er_gtid_unsafe_bi...) says:

"ER_GTID_UNSAFE_BINLOG_SPLITTABLE_STATEMENT_AND_GTID_GROUP was removed after 8.0.4."

So, the test must be either updated or disabled.

How to repeat:
Build 8.0.11 from GitHub source using the following cmake command line:

openxs@ao756:~/git/mysql-server$ cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_CONFIG=mysql_release -DFEATURE_SET=community -DWITH_EMBEDDED_SERVER=OFF -DCMAKE_INSTALL_PREFIX=/home/openxs/dbs/8.0 -DWITH_BOOST=/home/openxs/boost -DDOWNLOAD_BOOST=1  -DENABLE_DOWNLOADS=1 -DWITH_UNIT_TESTS=OFF

Install it and run the test:

openxs@ao756:~/dbs/8.0/mysql-test$ ./mtr rpl_gtid.rpl_gtid_drop_table

Suggested fix:
Update test to work in 8.0.11 or disable it.
[23 Apr 2018 16:59] Erlend Dahl
As far as I can see, rpl_gtid.rpl_gtid_drop_table was removed in 8.0.4. A check in the github repo confirms that it is no longer present in 8.0.11:

https://github.com/mysql/mysql-server/tree/8.0/mysql-test/suite/rpl_gtid/t

Can you please check your setup?
[24 Apr 2018 10:53] Valeriy Kravchuk
Indeed, I do not see this test in the source code:

openxs@ao756:~$ cd git
openxs@ao756:~/git$ cd mysql-server/
openxs@ao756:~/git/mysql-server$ git branch
  5.5
  5.6
  5.7
* 8.0
openxs@ao756:~/git/mysql-server$ git pull
From https://github.com/mysql/mysql-server
   08d736d..de3a153  cluster-7.2 -> origin/cluster-7.2
 * [new tag]         mysql-cluster-7.2.33 -> mysql-cluster-7.2.33
Already up-to-date.
openxs@ao756:~/git/mysql-server$ ls -l mysql-test/suite/rpl_gtid/t/rpl_gtid_drop*
ls: cannot access mysql-test/suite/rpl_gtid/t/rpl_gtid_drop*: No such file or directory

Probably I have it installed in the target directory as a leftover of older 8.0.x versions:

openxs@ao756:~/git/mysql-server$ ls -l ~/dbs/8.0/mysql-test/suite/rpl_gtid/t/rpl_gtid_drop*
-rw-rw-r-- 1 openxs openxs   485 кві 14  2017 /home/openxs/dbs/8.0/mysql-test/suite/rpl_gtid/t/rpl_gtid_drop_table.cnf
-rw-rw-r-- 1 openxs openxs 14817 чер 24  2017 /home/openxs/dbs/8.0/mysql-test/suite/rpl_gtid/t/rpl_gtid_drop_table.test
openxs@ao756:~/git/mysql-server$

Assuming that just dropping tests in the process of development is not considered a problem, I am closing this report.