Bug #90556 rpl.rpl_rewrt_db test fails
Submitted: 22 Apr 2018 15:50 Modified: 24 Apr 2018 14:42
Reporter: Valeriy Kravchuk Email Updates:
Status: Closed Impact on me:
Category:MySQL Server: Replication Severity:S3 (Non-critical)
Version:8.0.11 OS:Ubuntu (14.04)
Assigned to: CPU Architecture:x86
Tags: regression, replication, test

[22 Apr 2018 15:50] Valeriy Kravchuk
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: ''
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

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

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.
[23 Apr 2018 17:15] Erlend Dahl
Another case of a test that was removed in 8.0.4 but where artefacts in other directories remain. Setting to 'verified' so that gets fixed.
[24 Apr 2018 14:42] Margaret Fisher
Posted by developer:
Test case, no changelog entry needed - closing.