Bug #57225 | Slave SQL thread wrongly reports relay log corruption on STOP SLAVE | ||
---|---|---|---|
Submitted: | 4 Oct 2010 18:15 | Modified: | 17 Oct 2011 12:20 |
Reporter: | Elena Stepanova | Email Updates: | |
Status: | Can't repeat | Impact on me: | |
Category: | MySQL Server: Replication | Severity: | S3 (Non-critical) |
Version: | 5.5, 5.6 | OS: | Any |
Assigned to: | Daogang Qu | CPU Architecture: | Any |
[4 Oct 2010 18:15]
Elena Stepanova
[4 Oct 2010 21:48]
Elena Stepanova
Probably the description should have said 'a long group of events' rather than 'a long event'..
[4 Oct 2010 21:49]
Elena Stepanova
Cannot verify on 5.1 due to bug#57230.
[15 Dec 2010 22:34]
Elena Stepanova
# Another test case, derived from current system scenarios # Recommended to run as --nowarnings MTR flag --source include/master-slave.inc --source include/have_innodb.inc --source include/have_binlog_format_mixed_or_statement.inc --connection master DROP DATABASE IF EXISTS slave_stop; CREATE DATABASE slave_stop; USE slave_stop; CREATE TABLE slave_stop.t_data ( num INT ) ENGINE = InnoDB; BEGIN; REPLACE t_data VALUES (0); CREATE TEMPORARY TABLE operations ( op VARCHAR(16) ) ENGINE = InnoDB; SET @start = NOW(); # Presumably, if master executes the transaction longer than 70 seconds, # slave will not be any faster, and hence STOP SLAVE won't be able # to wait till the transaction is finished --disable_query_log while(`SELECT TIME_TO_SEC(TIMEDIFF(NOW(),@start)) < 70` ) { INSERT INTO t_data VALUES(1); } --enable_query_log DROP TEMPORARY TABLE operations; COMMIT; --connection slave let $show_statement= SHOW PROCESSLIST; let $field= Info; let $condition= LIKE 'INSERT%'; --source include/wait_show_condition.inc STOP SLAVE; --vertical_results SHOW SLAVE STATUS; # Cleanup DROP DATABASE slave_stop; --connection master DROP DATABASE slave_stop; --exit