Bug #90608 rpl_gtid.rpl_perfschema_applier_status_by_worker_gtid_skipped_transaction fails
Submitted: 24 Apr 2018 14:43 Modified: 24 Apr 2018 15:01
Reporter: Valeriy Kravchuk Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: Row Based Replication ( RBR ) Severity:S3 (Non-critical)
Version:8.0.11 OS:Ubuntu (14.04)
Assigned to: CPU Architecture:x86
Tags: rpl_gtid.rpl_perfschema_applier_status_by_worker_gtid_skipped_transaction, test

[24 Apr 2018 14:43] Valeriy Kravchuk
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
[24 Apr 2018 15:01] MySQL Verification Team
Thank you for the bug report.