mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 20:12:31 +01:00
merge mysql-5.5 (local) --> mysql-5.5
This commit is contained in:
commit
1957bd6627
14 changed files with 29 additions and 29 deletions
|
@ -23,8 +23,8 @@ insert into tm set a=null; # to simulate killed status on the slave
|
|||
commit;
|
||||
|
||||
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.*The slave SQL is stopped, leaving the current group of events unfinished with a non-transaction table changed.");
|
||||
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.*Slave SQL Thread stopped with incomplete event group having non-transactional changes");
|
||||
|
||||
# slave will catch the killed status but won't shut down immediately
|
||||
# only after the whole group has done (commit)
|
||||
|
|
|
@ -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 t2 (a INT NOT NULL AUTO_INCREMENT, b VARCHAR(100), c INT NOT NULL, PRIMARY KEY(a)) ENGINE=InnoDB;
|
||||
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 ***
|
||||
|
||||
|
|
|
@ -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 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.*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
|
||||
include/stop_slave.inc
|
||||
DROP TABLE t1;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include/master-slave.inc
|
||||
[connection master]
|
||||
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
|
||||
SET @old_log_output= @@log_output;
|
||||
SET GLOBAL log_output= 'TABLE';
|
||||
|
|
|
@ -70,6 +70,6 @@ include/start_slave.inc
|
|||
# Clean up
|
||||
DROP TABLE t1;
|
||||
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;
|
||||
include/rpl_end.inc
|
||||
|
|
|
@ -11,8 +11,8 @@ insert into tm set a=null;
|
|||
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.
|
||||
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.*The slave SQL is stopped, leaving the current group of events unfinished with a non-transaction table changed.");
|
||||
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.*Slave SQL Thread stopped with incomplete event group having non-transactional changes");
|
||||
include/wait_for_slave_sql_to_stop.inc
|
||||
SELECT "NO" AS Last_SQL_Error, @check as `true`;
|
||||
Last_SQL_Error true
|
||||
|
@ -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.
|
||||
commit;
|
||||
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
|
||||
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;
|
||||
one
|
||||
1
|
||||
|
@ -53,9 +53,9 @@ set @@global.debug="+d,stop_slave_middle_group";
|
|||
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;
|
||||
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
|
||||
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;
|
||||
two
|
||||
2
|
||||
|
|
|
@ -75,7 +75,7 @@ include/wait_for_slave_sql_to_start.inc
|
|||
# Test end
|
||||
SET GLOBAL debug= '$debug_save';
|
||||
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]
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
|
|
|
@ -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;
|
||||
--source include/rpl_sync.inc
|
||||
--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
|
||||
|
||||
#
|
||||
|
|
|
@ -320,7 +320,7 @@ INSERT INTO t1 VALUES (1, 'on slave', NULL);
|
|||
INSERT INTO t1 VALUES (1, 'on master', NULL);
|
||||
--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.*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
|
||||
--source include/wait_for_slave_sql_error.inc
|
||||
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
|
|||
connection slave;
|
||||
call mtr.add_suppression("Master server does not support semi-sync");
|
||||
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;
|
||||
connection master;
|
||||
|
||||
|
|
|
@ -29,8 +29,7 @@ source include/master-slave.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("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
|
||||
# and restart it as long_query_time variable is dynamic and, after
|
||||
|
|
|
@ -19,7 +19,7 @@ SET @@session.binlog_direct_non_transactional_updates= FALSE;
|
|||
# clean up
|
||||
--connection slave
|
||||
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
|
||||
SET @@global.innodb_flush_log_at_trx_commit= @old_innodb_flush_log_at_trx_commit;
|
||||
|
||||
|
|
|
@ -48,7 +48,7 @@ SET GLOBAL debug= '$debug_save';
|
|||
source include/restart_slave_sql.inc;
|
||||
|
||||
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;
|
||||
|
||||
--source include/rpl_connection_master.inc
|
||||
|
|
20
sql/slave.cc
20
sql/slave.cc
|
@ -903,18 +903,18 @@ static bool sql_slave_killed(THD* thd, Relay_log_info* rli)
|
|||
&& rli->is_in_group())
|
||||
{
|
||||
char msg_stopped[]=
|
||||
"... 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 "
|
||||
"... 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).";
|
||||
|
||||
if (rli->abort_slave)
|
||||
{
|
||||
DBUG_PRINT("info", ("Slave SQL thread is being stopped in the middle of"
|
||||
" a group having updated a non-trans table, giving"
|
||||
" it some grace period"));
|
||||
DBUG_PRINT("info", ("Request to stop slave SQL Thread received while "
|
||||
"applying a group that has non-transactional "
|
||||
"changes; waiting for completion of the group ... "));
|
||||
|
||||
/*
|
||||
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)
|
|||
if (ret == 0)
|
||||
{
|
||||
rli->report(WARNING_LEVEL, 0,
|
||||
"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 ... ");
|
||||
"Request to stop slave SQL Thread received while "
|
||||
"applying a group that has non-transactional "
|
||||
"changes; waiting for completion of the group ... ");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue