1# ==== Purpose ==== 2# 3# This test will verify if a slave will skip the transaction boundary parser 4# and the Retrieved_Gtid_Set initialization when relay_log_recovery is set. 5# 6# ==== Related Bugs and Worklogs ==== 7# 8# BUG#21798355 SLOW STARTUP OF 5.7.X SLAVE WITH RELAY_LOG_RECOVERY = ON 9# AND MANY RELAY LOGS 10 11# This test case is binary log format agnostic 12--source include/have_binlog_format_row.inc 13--let $rpl_skip_start_slave=1 14--source include/master-slave.inc 15# Suppress recovery warning messages 16CALL mtr.add_suppression('Recovery from master pos'); 17 18# Insert some content on the master 19CREATE TABLE t1 (c1 INT); 20INSERT INTO t1 VALUES (1); 21 22# Rotate the binary log to have events on more than one relay log file 23FLUSH LOCAL BINARY LOGS; 24INSERT INTO t1 VALUES (1); 25DROP TABLE t1; 26 27# Start and sync the I/O thread before restarting the slave 28--source include/rpl_connection_slave.inc 29--source include/start_slave_io.inc 30--source include/rpl_connection_master.inc 31--source include/sync_slave_io_with_master.inc 32 33# Restart the slave enabling relay_log_recovery 34--let $rpl_server_number= 2 35--let $rpl_server_parameters= --relay_log_recovery=ON 36--source include/rpl_restart_server.inc 37 38# File to GREP 39--let $assert_file=$MYSQLTEST_VARDIR/log/mysqld.2.err 40# Show entries only after the last occurrence of the following pattern 41--let $assert_only_after=.* \[Note\] Shutting down slave threads 42# Assert that there is no expected note log line about reading relay log events 43--let $assert_count= 0 44--let $assert_select=.* \[Note\] .* events read in relaylog file .* 45--let $assert_text= Found no lines about reading events on the relay log. 46--source include/assert_grep.inc 47 48# Cleanup 49--source include/rpl_connection_slave.inc 50--source include/start_slave.inc 51 52--source include/rpl_end.inc 53