Commit c130b7b7 authored by Kent Boortz's avatar Kent Boortz

Merge

parents 727cf96b 45175655
...@@ -23,8 +23,8 @@ insert into tm set a=null; # to simulate killed status on the slave ...@@ -23,8 +23,8 @@ insert into tm set a=null; # to simulate killed status on the slave
commit; commit;
connection slave; connection slave;
call mtr.add_suppression("Slave SQL.*slave SQL thread is being stopped in the middle of applying of a group having updated a non-transaction table"); call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
call mtr.add_suppression("Slave SQL.*The slave SQL is stopped, leaving the current group of events unfinished with a non-transaction table changed."); call mtr.add_suppression("Slave SQL.*Slave SQL Thread stopped with incomplete event group having non-transactional changes");
# slave will catch the killed status but won't shut down immediately # slave will catch the killed status but won't shut down immediately
# only after the whole group has done (commit) # only after the whole group has done (commit)
......
...@@ -10,3 +10,10 @@ mysqld is alive ...@@ -10,3 +10,10 @@ mysqld is alive
# Displaying the output : # Displaying the output :
mysqld is alive mysqld is alive
mysqld is alive mysqld is alive
#
# BUG#11766184 - 59234: cmdline clients crash --defaults-extra-file
# with no .cnf or .ini extension.
#
# Creating an empty file 'cnf_file'
# Using --defaults-extra-file option with 'cnf_file'.
mysqld is alive
...@@ -4626,6 +4626,7 @@ DELIMITER ; ...@@ -4626,6 +4626,7 @@ DELIMITER ;
/*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 SET collation_connection = @saved_col_connection */ ;
ALTER DATABASE `test-database` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; ALTER DATABASE `test-database` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
DROP DATABASE `test-database`; DROP DATABASE `test-database`;
USE `test`;
# #
# End of 5.1 tests # End of 5.1 tests
# #
......
stop slave; include/master-slave.inc
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; [connection master]
reset master;
reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave;
set @save_general_log = @@global.general_log; set @save_general_log = @@global.general_log;
set @save_log_output = @@global.log_output; set @save_log_output = @@global.log_output;
set @save_slave_net_timeout = @@global.slave_net_timeout; set @save_slave_net_timeout = @@global.slave_net_timeout;
set @@global.general_log = ON; set @@global.general_log = ON;
set @@global.log_output = 'table,file'; set @@global.log_output = 'table,file';
include/stop_slave.inc include/stop_slave.inc
set @@global.slave_net_timeout = @@global.net_read_timeout * 2;
change master to master_host = '127.0.0.1',master_port = MASTER_PORT, change master to master_host = '127.0.0.1',master_port = MASTER_PORT,
master_user = 'root', master_heartbeat_period = 0; master_user = 'root', master_heartbeat_period = 0;
set @@global.slave_net_timeout = @@global.net_read_timeout * 2;
include/start_slave.inc include/start_slave.inc
include/stop_slave.inc include/stop_slave.inc
select event_time from (select event_time from mysql.general_log as t_1 where command_type like 'Connect' order by event_time desc limit 2) as t_2 order by event_time desc limit 1 into @ts_last; select event_time from (select event_time from mysql.general_log as t_1 where command_type like 'Connect' order by event_time desc limit 2) as t_2 order by event_time desc limit 1 into @ts_last;
select event_time from (select event_time from mysql.general_log as t_1 where command_type like 'Connect' order by event_time desc limit 2) as t_2 order by event_time asc limit 1 into @ts_prev; select event_time from (select event_time from mysql.general_log as t_1 where command_type like 'Connect' order by event_time desc limit 2) as t_2 order by event_time asc limit 1 into @ts_prev;
select @result as 'Must be 1'; include/assert.inc [time between last reconnection and the reconnection before that should be >= slave_net_timeout]
Must be 1
1
set @@global.general_log = @save_general_log; set @@global.general_log = @save_general_log;
set @@global.log_output = @save_log_output; set @@global.log_output = @save_log_output;
set @@global.slave_net_timeout = @save_slave_net_timeout; set @@global.slave_net_timeout = @save_slave_net_timeout;
include/rpl_end.inc
...@@ -21,11 +21,6 @@ set @@global.log_output = 'table,file'; ...@@ -21,11 +21,6 @@ set @@global.log_output = 'table,file';
connection slave; connection slave;
--source include/stop_slave.inc --source include/stop_slave.inc
--disable_warnings
set @@global.slave_net_timeout = @@global.net_read_timeout * 2;
--enable_warnings
let $idle_time=`select @@global.slave_net_timeout * 2`;
# #
# if heartbeat is disabled then reconnecting to the idle master # if heartbeat is disabled then reconnecting to the idle master
# should happen with `slave_net_timeout' period. # should happen with `slave_net_timeout' period.
...@@ -42,6 +37,9 @@ let $idle_time=`select @@global.slave_net_timeout * 2`; ...@@ -42,6 +37,9 @@ let $idle_time=`select @@global.slave_net_timeout * 2`;
eval change master to master_host = '127.0.0.1',master_port = $MASTER_MYPORT, eval change master to master_host = '127.0.0.1',master_port = $MASTER_MYPORT,
master_user = 'root', master_heartbeat_period = 0; master_user = 'root', master_heartbeat_period = 0;
set @@global.slave_net_timeout = @@global.net_read_timeout * 2;
let $idle_time=`select @@global.slave_net_timeout * 2`;
let $slave_net_timeout = `select @@global.slave_net_timeout`; let $slave_net_timeout = `select @@global.slave_net_timeout`;
--source include/start_slave.inc --source include/start_slave.inc
...@@ -64,11 +62,9 @@ connection master; ...@@ -64,11 +62,9 @@ connection master;
select event_time from (select event_time from mysql.general_log as t_1 where command_type like 'Connect' order by event_time desc limit 2) as t_2 order by event_time desc limit 1 into @ts_last; select event_time from (select event_time from mysql.general_log as t_1 where command_type like 'Connect' order by event_time desc limit 2) as t_2 order by event_time desc limit 1 into @ts_last;
select event_time from (select event_time from mysql.general_log as t_1 where command_type like 'Connect' order by event_time desc limit 2) as t_2 order by event_time asc limit 1 into @ts_prev; select event_time from (select event_time from mysql.general_log as t_1 where command_type like 'Connect' order by event_time desc limit 2) as t_2 order by event_time asc limit 1 into @ts_prev;
--disable_query_log --let $assert_cond= time_to_sec(@ts_last) - time_to_sec(@ts_prev) >= $slave_net_timeout
eval select time_to_sec(@ts_last) - $slave_net_timeout >= time_to_sec(@ts_prev) into @result; --let $assert_text= time between last reconnection and the reconnection before that should be >= slave_net_timeout
--enable_query_log --source include/assert.inc
select @result as 'Must be 1';
# cleanup # cleanup
...@@ -79,4 +75,5 @@ set @@global.log_output = @save_log_output; ...@@ -79,4 +75,5 @@ set @@global.log_output = @save_log_output;
connection slave; connection slave;
set @@global.slave_net_timeout = @save_slave_net_timeout; set @@global.slave_net_timeout = @save_slave_net_timeout;
--let $rpl_only_running_threads= 1
--source include/rpl_end.inc --source include/rpl_end.inc
...@@ -5,7 +5,7 @@ include/rpl_init.inc [topology=1->2->3->4->1] ...@@ -5,7 +5,7 @@ include/rpl_init.inc [topology=1->2->3->4->1]
CREATE TABLE t1 (a INT NOT NULL AUTO_INCREMENT, b VARCHAR(100), c INT NOT NULL, PRIMARY KEY(a)) ENGINE=MyISAM; CREATE TABLE t1 (a INT NOT NULL AUTO_INCREMENT, b VARCHAR(100), c INT NOT NULL, PRIMARY KEY(a)) ENGINE=MyISAM;
CREATE TABLE t2 (a INT NOT NULL AUTO_INCREMENT, b VARCHAR(100), c INT NOT NULL, PRIMARY KEY(a)) ENGINE=InnoDB; CREATE TABLE t2 (a INT NOT NULL AUTO_INCREMENT, b VARCHAR(100), c INT NOT NULL, PRIMARY KEY(a)) ENGINE=InnoDB;
include/rpl_sync.inc include/rpl_sync.inc
call mtr.add_suppression("Slave SQL.*slave SQL thread is being stopped in the middle of applying of a group having updated a non-transaction table"); call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
*** Testing schema A->B->C->D->A *** *** Testing schema A->B->C->D->A ***
......
...@@ -207,7 +207,7 @@ CREATE TABLE t1 (a INT PRIMARY KEY, b VARCHAR(10), c LONGTEXT); ...@@ -207,7 +207,7 @@ CREATE TABLE t1 (a INT PRIMARY KEY, b VARCHAR(10), c LONGTEXT);
INSERT INTO t1 VALUES (1, 'on slave', NULL); INSERT INTO t1 VALUES (1, 'on slave', NULL);
INSERT INTO t1 VALUES (1, 'on master', NULL); INSERT INTO t1 VALUES (1, 'on master', NULL);
call mtr.add_suppression("Slave SQL.*Duplicate entry .1. for key .PRIMARY.. on query.* Error_code: 1062"); call mtr.add_suppression("Slave SQL.*Duplicate entry .1. for key .PRIMARY.. on query.* Error_code: 1062");
call mtr.add_suppression("Slave SQL.*slave SQL thread is being stopped in the middle of applying of a group having updated a non-transaction table"); call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
Heartbeat events are received while sql thread stopped (1 means 'yes'): 1 Heartbeat events are received while sql thread stopped (1 means 'yes'): 1
include/stop_slave.inc include/stop_slave.inc
DROP TABLE t1; DROP TABLE t1;
......
include/master-slave.inc include/master-slave.inc
[connection master] [connection master]
CALL mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT"); CALL mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
call mtr.add_suppression("Slave SQL: slave SQL thread is being stopped in the middle of applying of a group having updated a non-transaction table; waiting for the group completion"); call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
include/stop_slave.inc include/stop_slave.inc
SET @old_log_output= @@log_output; SET @old_log_output= @@log_output;
SET GLOBAL log_output= 'TABLE'; SET GLOBAL log_output= 'TABLE';
......
...@@ -70,6 +70,6 @@ include/start_slave.inc ...@@ -70,6 +70,6 @@ include/start_slave.inc
# Clean up # Clean up
DROP TABLE t1; DROP TABLE t1;
SET @@global.innodb_flush_log_at_trx_commit= @old_innodb_flush_log_at_trx_commit; SET @@global.innodb_flush_log_at_trx_commit= @old_innodb_flush_log_at_trx_commit;
call mtr.add_suppression("Slave SQL.*slave SQL thread is being stopped in the middle of applying of a group having updated a non-transaction table"); call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
SET @@global.innodb_flush_log_at_trx_commit= @old_innodb_flush_log_at_trx_commit; SET @@global.innodb_flush_log_at_trx_commit= @old_innodb_flush_log_at_trx_commit;
include/rpl_end.inc include/rpl_end.inc
...@@ -11,8 +11,8 @@ insert into tm set a=null; ...@@ -11,8 +11,8 @@ insert into tm set a=null;
Warnings: Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction. Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
commit; commit;
call mtr.add_suppression("Slave SQL.*slave SQL thread is being stopped in the middle of applying of a group having updated a non-transaction table"); call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
call mtr.add_suppression("Slave SQL.*The slave SQL is stopped, leaving the current group of events unfinished with a non-transaction table changed."); call mtr.add_suppression("Slave SQL.*Slave SQL Thread stopped with incomplete event group having non-transactional changes");
include/wait_for_slave_sql_to_stop.inc include/wait_for_slave_sql_to_stop.inc
SELECT "NO" AS Last_SQL_Error, @check as `true`; SELECT "NO" AS Last_SQL_Error, @check as `true`;
Last_SQL_Error true Last_SQL_Error true
...@@ -36,9 +36,9 @@ Warnings: ...@@ -36,9 +36,9 @@ Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction. Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
commit; commit;
include/wait_for_slave_sql_to_stop.inc include/wait_for_slave_sql_to_stop.inc
SELECT "Fatal error: ... The slave SQL is stopped, leaving the current group of events unfinished with a non-transaction table changed. If the group consists solely of Row-based events, you can try restarting the slave with --slave-exec-mode=IDEMPOTENT, which ignores duplicate key, key not found, and similar errors (see documentation for details)." AS Last_SQL_Error, @check as `true`; SELECT "Fatal error: ... Slave SQL Thread stopped with incomplete event group having non-transactional changes. If the group consists solely of row-based events, you can try to restart the slave with --slave-exec-mode=IDEMPOTENT, which ignores duplicate key, key not found, and similar errors (see documentation for details)." AS Last_SQL_Error, @check as `true`;
Last_SQL_Error true Last_SQL_Error true
Fatal error: ... The slave SQL is stopped, leaving the current group of events unfinished with a non-transaction table changed. If the group consists solely of Row-based events, you can try restarting the slave with --slave-exec-mode=IDEMPOTENT, which ignores duplicate key, key not found, and similar errors (see documentation for details). 1 Fatal error: ... Slave SQL Thread stopped with incomplete event group having non-transactional changes. If the group consists solely of row-based events, you can try to restart the slave with --slave-exec-mode=IDEMPOTENT, which ignores duplicate key, key not found, and similar errors (see documentation for details). 1
select count(*) as one from tm; select count(*) as one from tm;
one one
1 1
...@@ -53,9 +53,9 @@ set @@global.debug="+d,stop_slave_middle_group"; ...@@ -53,9 +53,9 @@ set @@global.debug="+d,stop_slave_middle_group";
set @@global.debug="+d,incomplete_group_in_relay_log"; set @@global.debug="+d,incomplete_group_in_relay_log";
update tm as t1, ti as t2 set t1.a=t1.a * 2, t2.a=t2.a * 2; update tm as t1, ti as t2 set t1.a=t1.a * 2, t2.a=t2.a * 2;
include/wait_for_slave_sql_to_stop.inc include/wait_for_slave_sql_to_stop.inc
SELECT "Fatal error: ... The slave SQL is stopped, leaving the current group of events unfinished with a non-transaction table changed. If the group consists solely of Row-based events, you can try restarting the slave with --slave-exec-mode=IDEMPOTENT, which ignores duplicate key, key not found, and similar errors (see documentation for details)." AS Last_SQL_Error, @check as `true`; SELECT "Fatal error: ... Slave SQL Thread stopped with incomplete event group having non-transactional changes. If the group consists solely of row-based events, you can try to restart the slave with --slave-exec-mode=IDEMPOTENT, which ignores duplicate key, key not found, and similar errors (see documentation for details)." AS Last_SQL_Error, @check as `true`;
Last_SQL_Error true Last_SQL_Error true
Fatal error: ... The slave SQL is stopped, leaving the current group of events unfinished with a non-transaction table changed. If the group consists solely of Row-based events, you can try restarting the slave with --slave-exec-mode=IDEMPOTENT, which ignores duplicate key, key not found, and similar errors (see documentation for details). 1 Fatal error: ... Slave SQL Thread stopped with incomplete event group having non-transactional changes. If the group consists solely of row-based events, you can try to restart the slave with --slave-exec-mode=IDEMPOTENT, which ignores duplicate key, key not found, and similar errors (see documentation for details). 1
select max(a) as two from tm; select max(a) as two from tm;
two two
2 2
......
...@@ -75,7 +75,7 @@ include/wait_for_slave_sql_to_start.inc ...@@ -75,7 +75,7 @@ include/wait_for_slave_sql_to_start.inc
# Test end # Test end
SET GLOBAL debug= '$debug_save'; SET GLOBAL debug= '$debug_save';
include/restart_slave.inc include/restart_slave.inc
call mtr.add_suppression("Slave SQL.*slave SQL thread is being stopped in the middle of applying of a group having updated a non-transaction table"); call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
[connection master] [connection master]
DROP TABLE t1, t2; DROP TABLE t1, t2;
...@@ -93,6 +93,7 @@ DROP TABLE t1, t2; ...@@ -93,6 +93,7 @@ DROP TABLE t1, t2;
CREATE TABLE t1 (c1 INT KEY, c2 INT) ENGINE=InnoDB; CREATE TABLE t1 (c1 INT KEY, c2 INT) ENGINE=InnoDB;
CREATE TABLE t2 (c1 INT) ENGINE=MyISAM; CREATE TABLE t2 (c1 INT) ENGINE=MyISAM;
INSERT INTO t1 VALUES(1, 1); INSERT INTO t1 VALUES(1, 1);
[connection master]
SET GLOBAL debug= 'd,dump_thread_wait_before_send_xid'; SET GLOBAL debug= 'd,dump_thread_wait_before_send_xid';
[connection slave] [connection slave]
include/restart_slave.inc include/restart_slave.inc
......
...@@ -30,7 +30,7 @@ CREATE TABLE t1 (a INT NOT NULL AUTO_INCREMENT, b VARCHAR(100), c INT NOT NULL, ...@@ -30,7 +30,7 @@ CREATE TABLE t1 (a INT NOT NULL AUTO_INCREMENT, b VARCHAR(100), c INT NOT NULL,
CREATE TABLE t2 (a INT NOT NULL AUTO_INCREMENT, b VARCHAR(100), c INT NOT NULL, PRIMARY KEY(a)) ENGINE=InnoDB; CREATE TABLE t2 (a INT NOT NULL AUTO_INCREMENT, b VARCHAR(100), c INT NOT NULL, PRIMARY KEY(a)) ENGINE=InnoDB;
--source include/rpl_sync.inc --source include/rpl_sync.inc
--connection server_4 --connection server_4
call mtr.add_suppression("Slave SQL.*slave SQL thread is being stopped in the middle of applying of a group having updated a non-transaction table"); call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
--echo --echo
# #
......
...@@ -320,7 +320,7 @@ INSERT INTO t1 VALUES (1, 'on slave', NULL); ...@@ -320,7 +320,7 @@ INSERT INTO t1 VALUES (1, 'on slave', NULL);
INSERT INTO t1 VALUES (1, 'on master', NULL); INSERT INTO t1 VALUES (1, 'on master', NULL);
--connection slave --connection slave
call mtr.add_suppression("Slave SQL.*Duplicate entry .1. for key .PRIMARY.. on query.* Error_code: 1062"); call mtr.add_suppression("Slave SQL.*Duplicate entry .1. for key .PRIMARY.. on query.* Error_code: 1062");
call mtr.add_suppression("Slave SQL.*slave SQL thread is being stopped in the middle of applying of a group having updated a non-transaction table"); call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
let $slave_errno= ER_DUP_ENTRY let $slave_errno= ER_DUP_ENTRY
--source include/wait_for_slave_sql_error.inc --source include/wait_for_slave_sql_error.inc
let $rcvd_heartbeats_before= query_get_value(SHOW STATUS LIKE 'slave_received_heartbeats', Value, 1); let $rcvd_heartbeats_before= query_get_value(SHOW STATUS LIKE 'slave_received_heartbeats', Value, 1);
......
...@@ -15,6 +15,7 @@ call mtr.add_suppression("Unsafe statement written to the binary log using state ...@@ -15,6 +15,7 @@ call mtr.add_suppression("Unsafe statement written to the binary log using state
connection slave; connection slave;
call mtr.add_suppression("Master server does not support semi-sync"); call mtr.add_suppression("Master server does not support semi-sync");
call mtr.add_suppression("Semi-sync slave .* reply"); call mtr.add_suppression("Semi-sync slave .* reply");
call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
enable_query_log; enable_query_log;
connection master; connection master;
......
...@@ -29,8 +29,7 @@ source include/master-slave.inc; ...@@ -29,8 +29,7 @@ source include/master-slave.inc;
source include/have_binlog_format_statement.inc; source include/have_binlog_format_statement.inc;
CALL mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT"); CALL mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
call mtr.add_suppression("Slave SQL: slave SQL thread is being stopped in the middle of applying of a group having updated a non-transaction table; waiting for the group completion"); call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
# Prepare slave for different long_query_time we need to stop the slave # Prepare slave for different long_query_time we need to stop the slave
# and restart it as long_query_time variable is dynamic and, after # and restart it as long_query_time variable is dynamic and, after
......
...@@ -19,7 +19,7 @@ SET @@session.binlog_direct_non_transactional_updates= FALSE; ...@@ -19,7 +19,7 @@ SET @@session.binlog_direct_non_transactional_updates= FALSE;
# clean up # clean up
--connection slave --connection slave
SET @@global.innodb_flush_log_at_trx_commit= @old_innodb_flush_log_at_trx_commit; SET @@global.innodb_flush_log_at_trx_commit= @old_innodb_flush_log_at_trx_commit;
call mtr.add_suppression("Slave SQL.*slave SQL thread is being stopped in the middle of applying of a group having updated a non-transaction table"); call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
--connection master --connection master
SET @@global.innodb_flush_log_at_trx_commit= @old_innodb_flush_log_at_trx_commit; SET @@global.innodb_flush_log_at_trx_commit= @old_innodb_flush_log_at_trx_commit;
......
...@@ -48,7 +48,7 @@ SET GLOBAL debug= '$debug_save'; ...@@ -48,7 +48,7 @@ SET GLOBAL debug= '$debug_save';
source include/restart_slave_sql.inc; source include/restart_slave_sql.inc;
connection slave; connection slave;
call mtr.add_suppression("Slave SQL.*slave SQL thread is being stopped in the middle of applying of a group having updated a non-transaction table"); call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
connection master; connection master;
--source include/rpl_connection_master.inc --source include/rpl_connection_master.inc
...@@ -71,11 +71,13 @@ CREATE TABLE t1 (c1 INT KEY, c2 INT) ENGINE=InnoDB; ...@@ -71,11 +71,13 @@ CREATE TABLE t1 (c1 INT KEY, c2 INT) ENGINE=InnoDB;
CREATE TABLE t2 (c1 INT) ENGINE=MyISAM; CREATE TABLE t2 (c1 INT) ENGINE=MyISAM;
INSERT INTO t1 VALUES(1, 1); INSERT INTO t1 VALUES(1, 1);
sync_slave_with_master;
--source include/rpl_connection_master.inc
let $debug_save= `SELECT @@GLOBAL.debug`; let $debug_save= `SELECT @@GLOBAL.debug`;
SET GLOBAL debug= 'd,dump_thread_wait_before_send_xid'; SET GLOBAL debug= 'd,dump_thread_wait_before_send_xid';
sync_slave_with_master;
--source include/rpl_connection_slave.inc --source include/rpl_connection_slave.inc
source include/restart_slave_sql.inc; source include/restart_slave_sql.inc;
......
...@@ -45,3 +45,17 @@ remove_file $MYSQLTEST_VARDIR/tmp/bug10608.cnf; ...@@ -45,3 +45,17 @@ remove_file $MYSQLTEST_VARDIR/tmp/bug10608.cnf;
--cat_file $MYSQLTEST_VARDIR/tmp/mysqladmin.tmp --cat_file $MYSQLTEST_VARDIR/tmp/mysqladmin.tmp
--remove_file $MYSQLTEST_VARDIR/tmp/mysqladmin.tmp --remove_file $MYSQLTEST_VARDIR/tmp/mysqladmin.tmp
--echo #
--echo # BUG#11766184 - 59234: cmdline clients crash --defaults-extra-file
--echo # with no .cnf or .ini extension.
--echo #
--echo # Creating an empty file 'cnf_file'
--write_file $MYSQLTEST_VARDIR/tmp/cnf_file
EOF
--echo # Using --defaults-extra-file option with 'cnf_file'.
--exec $MYSQLADMIN --defaults-extra-file=$MYSQLTEST_VARDIR/tmp/cnf_file -uroot -S $MASTER_MYSOCK -P $MASTER_MYPORT ping 2>&1
--remove_file $MYSQLTEST_VARDIR/tmp/cnf_file
...@@ -2198,6 +2198,8 @@ ALTER DATABASE `test-database` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; ...@@ -2198,6 +2198,8 @@ ALTER DATABASE `test-database` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
--exec $MYSQL_DUMP --quote-names --compact test-database --exec $MYSQL_DUMP --quote-names --compact test-database
DROP DATABASE `test-database`; DROP DATABASE `test-database`;
# Switching back to test database.
USE `test`;
--echo # --echo #
--echo # End of 5.1 tests --echo # End of 5.1 tests
......
...@@ -903,18 +903,18 @@ static bool sql_slave_killed(THD* thd, Relay_log_info* rli) ...@@ -903,18 +903,18 @@ static bool sql_slave_killed(THD* thd, Relay_log_info* rli)
&& rli->is_in_group()) && rli->is_in_group())
{ {
char msg_stopped[]= char msg_stopped[]=
"... The slave SQL is stopped, leaving the current group " "... Slave SQL Thread stopped with incomplete event group "
"of events unfinished with a non-transaction table changed. " "having non-transactional changes. "
"If the group consists solely of Row-based events, you can try " "If the group consists solely of row-based events, you can try "
"restarting the slave with --slave-exec-mode=IDEMPOTENT, which " "to restart the slave with --slave-exec-mode=IDEMPOTENT, which "
"ignores duplicate key, key not found, and similar errors (see " "ignores duplicate key, key not found, and similar errors (see "
"documentation for details)."; "documentation for details).";
if (rli->abort_slave) if (rli->abort_slave)
{ {
DBUG_PRINT("info", ("Slave SQL thread is being stopped in the middle of" DBUG_PRINT("info", ("Request to stop slave SQL Thread received while "
" a group having updated a non-trans table, giving" "applying a group that has non-transactional "
" it some grace period")); "changes; waiting for completion of the group ... "));
/* /*
Slave sql thread shutdown in face of unfinished group modified Slave sql thread shutdown in face of unfinished group modified
...@@ -938,9 +938,9 @@ static bool sql_slave_killed(THD* thd, Relay_log_info* rli) ...@@ -938,9 +938,9 @@ static bool sql_slave_killed(THD* thd, Relay_log_info* rli)
if (ret == 0) if (ret == 0)
{ {
rli->report(WARNING_LEVEL, 0, rli->report(WARNING_LEVEL, 0,
"slave SQL thread is being stopped in the middle " "Request to stop slave SQL Thread received while "
"of applying of a group having updated a non-transaction " "applying a group that has non-transactional "
"table; waiting for the group completion ... "); "changes; waiting for completion of the group ... ");
} }
else else
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment