Description:
I tried to run ./mtr regression test suite on MySQL 8.0.11 built from source on up to date 64-bit Ubuntu 14.04 and found that rpl.rpl_rewrt_db fails, even if it is run separately:
openxs@ao756:~/dbs/8.0/mysql-test$ ./mtr rpl.rpl_rewrt_db
Logging: ./mtr rpl.rpl_rewrt_db
2018-04-22T15:42:52.005051Z 0 [Warning] [MY-010139] [Server] Changed limits: max_open_files: 1024 (requested 8161)
2018-04-22T15:42:52.005211Z 0 [Warning] [MY-010142] [Server] Changed limits: table_open_cache: 431 (requested 4000)
2018-04-22T15:42:52.005689Z 0 [System] [MY-010116] [Server] /home/openxs/dbs/8.0/bin/mysqld (mysqld 8.0.11) starting as process 17261
MySQL Version 8.0.11
Checking supported features...
- SSL connections supported
Collecting tests...
- adding combinations for rpl
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.rpl_rewrt_db 'mix' [ fail ]
Test ended at 2018-04-22 18:44:14
CURRENT_TEST: rpl.rpl_rewrt_db
mysqltest: In included file ./include/assert.inc at line 72:
included from /home/openxs/dbs/8.0/mysql-test/suite/rpl/t/rpl_rewrt_db.test at line 235:
At line 71: Test assertion failed in assert.inc
The result from queries just before the failure was:
< snip >
**** slave_relay_info on server_1 ****
SELECT * FROM mysql.slave_relay_log_info;
Number_of_lines Relay_log_name Relay_log_pos Master_log_name Master_log_pos Sql_delay Number_of_workers Id Channel_name
**** slave_master_info on server_1 ****
SELECT * FROM mysql.slave_master_info;
Number_of_lines Master_log_name Master_log_pos Host User_name User_password Port Connect_retry Enabled_ssl Ssl_ca Ssl_capath Ssl_certSsl_cipher Ssl_key Ssl_verify_server_cert Heartbeat Bind Ignored_server_ids Uuid Retry_count Ssl_crl Ssl_crlpath Enabled_auto_position Channel_name Tls_version Public_key_path Get_public_key
**** mysql.gtid_executed on server_1 ****
SELECT * FROM mysql.gtid_executed;
source_uuid interval_start interval_end
rpl_topology= 1->2
rand_seed: '' _rand_state: ''
extra debug info if any: ''
rpl_topology=1->2
connection master;
Assertion text: 'The number of drop temporary table events in binlog should be 6'
Assertion condition: '0= 6'
Assertion condition, interpolated: '0= 6'
Assertion result: '0'
safe_process[17392]: Child process: 17393, exit: 1
- the logfile can be found in '/home/openxs/dbs/8.0/mysql-test/var/log/rpl.rpl_rewrt_db-mix/rpl_rewrt_db.log'
Only 1 of 3 completed.
mysql-test-run: *** ERROR: Not all tests completed
openxs@ao756:~/dbs/8.0/mysql-test$
How to repeat:
Build MySQL 8.0.11 from GitHub source using the following cmake command:
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
...
openxs@ao756:~/git/mysql-server$ time make -j 2
...
[100%] Built target mysqld
real 77m57.705s
user 133m53.854s
sys 7m3.053s
openxs@ao756:~/git/mysql-server$
Then run make install && make clean, got to the mysql-test subdirecotry and run:
./mtr rpl.rpl_rewrt_db
Enjoy the result.
Suggested fix:
Do something for this test not to fail.