Commit 84e27741 authored by Alfranio Correia's avatar Alfranio Correia

merge mysql-5.5 (local) --> mysql-5.5

parents 9c08717a 6d07a87a
...@@ -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)
......
...@@ -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;
......
...@@ -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
......
...@@ -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