Description:
rpl_gtid.rpl_perfschema_applier_status_by_worker_gtid_skipped_transaction test (see https://github.com/mysql/mysql-server/blob/8.0/mysql-test/suite/rpl_gtid/t/rpl_perfschema_...) fails for me on 8.0.11 built from GitHub source on Ubuntu 14.04:
openxs@ao756:~/git/mysql-server/mysql-test$ ./mtr rpl_gtid.rpl_perfschema_applier_status_by_worker_gtid_skipped_transaction
Logging: ./mtr rpl_gtid.rpl_perfschema_applier_status_by_worker_gtid_skipped_transaction
2018-04-24T14:32:16.102696Z 0 [Warning] [MY-010139] [Server] Changed limits: max_open_files: 1024 (requested 8161)
2018-04-24T14:32:16.102840Z 0 [Warning] [MY-010142] [Server] Changed limits: table_open_cache: 431 (requested 4000)
2018-04-24T14:32:16.103282Z 0 [System] [MY-010116] [Server] /home/openxs/git/mysql-server/runtime_output_directory/mysqld (mysqld 8.0.11) starting as process 27967
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/git/mysql-server/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_perfschema_applier_status_by_worker_gtid_skipped_transaction 'mix' [ skipped ] Doesn't support --binlog-format='mixed'
rpl_gtid.rpl_perfschema_applier_status_by_worker_gtid_skipped_transaction 'row' [ fail ]
Test ended at 2018-04-24 17:33:27
CURRENT_TEST: rpl_gtid.rpl_perfschema_applier_status_by_worker_gtid_skipped_transaction
mysqltest: In included file ./include/assert.inc at line 72:
included from ./extra/rpl_tests/rpl_check_ps_applier_status_by_worker_gtid_skipped_transaction.inc at line 87:
included from /home/openxs/git/mysql-server/mysql-test/suite/rpl_gtid/t/rpl_perfschema_applier_status_by_worker_gtid_skipped_transaction.test at line 28:
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 slave;
Assertion text: 'Assert that the last_applied_gtid is kept after the slave skipped the transaction'
Assertion condition: '"6fc127d0-47cc-11e8-ae47-f4b7e2133dbd:2" = "6fc127d0-47cc-11e8-ae47-f4b7e2133dbd:1"'
Assertion condition, interpolated: '"6fc127d0-47cc-11e8-ae47-f4b7e2133dbd:2" = "6fc127d0-47cc-11e8-ae47-f4b7e2133dbd:1"'
Assertion result: '0'
safe_process[28096]: Child process: 28097, exit: 1
- the logfile can be found in '/home/openxs/git/mysql-server/mysql-test/var/log/rpl_gtid.rpl_perfschema_applier_status_by_worker_gtid_skipped_transaction-row/rpl_perfschema_applier_status_by_worker_gtid_skipped_transaction.log'
Only 2 of 3 completed.
mysql-test-run: *** ERROR: Not all tests completed
openxs@ao756:~/git/mysql-server/mysql-test$
How to repeat:
Build MySQL 8.0.11 from GitHub source with the following cmake command line:
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
cd mysql-test and run:
./mtr rpl_gtid.rpl_perfschema_applier_status_by_worker_gtid_skipped_transaction
Suggested fix:
Do something for test not to fail