mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Merge branch 'github/10.3' into bb-10.3-temporal
This commit is contained in:
42
mysql-test/suite/rpl/r/rpl_row_end_of_statement_loss.result
Normal file
42
mysql-test/suite/rpl/r/rpl_row_end_of_statement_loss.result
Normal file
@@ -0,0 +1,42 @@
|
||||
include/master-slave.inc
|
||||
[connection master]
|
||||
connection slave;
|
||||
call mtr.add_suppression("Slave IO thread did not receive an expected Rows-log end-of-statement");
|
||||
call mtr.add_suppression("Relay log write failure: could not queue event from master");
|
||||
SET @save_debug= @@global.debug;
|
||||
SET GLOBAL debug_dbug="+d,simulate_stmt_end_rows_event_loss";
|
||||
include/stop_slave.inc
|
||||
CHANGE MASTER TO master_host = '127.0.0.1', master_port = MASTER_PORT, MASTER_USE_GTID=SLAVE_POS;
|
||||
connection master;
|
||||
CREATE TABLE t (a INT, b text(8192));;
|
||||
INSERT INTO t values (1, repeat('b', 8192)), (1, repeat('b', 8192));
|
||||
connection slave;
|
||||
START SLAVE IO_THREAD;
|
||||
include/wait_for_slave_io_error.inc [errno=1595]
|
||||
SET GLOBAL debug_dbug="-d,simulate_stmt_end_rows_event_loss";
|
||||
include/start_slave.inc
|
||||
connection master;
|
||||
connection slave;
|
||||
connection slave;
|
||||
include/stop_slave.inc
|
||||
connection master;
|
||||
SET @save_log_bin_compress= @@GLOBAL.log_bin_compress;
|
||||
SET @save_log_bin_compress_min_len= @@GLOBAL.log_bin_compress_min_len;
|
||||
SET @@GLOBAL.log_bin_compress=ON;
|
||||
SET @@GLOBAL.log_bin_compress_min_len=10;
|
||||
INSERT INTO t values (2, repeat('b', 8192)), (2, repeat('b', 8192));
|
||||
connection slave;
|
||||
SET GLOBAL debug_dbug="+d,simulate_stmt_end_rows_event_loss";
|
||||
START SLAVE IO_THREAD;
|
||||
include/wait_for_slave_io_error.inc [errno=1595]
|
||||
SET GLOBAL debug_dbug="-d,simulate_stmt_end_rows_event_loss";
|
||||
include/start_slave.inc
|
||||
connection master;
|
||||
connection slave;
|
||||
connection master;
|
||||
SET @@GLOBAL.log_bin_compress= @save_log_bin_compress;
|
||||
SET @@GLOBAL.log_bin_compress_min_len= @save_log_bin_compress_min_len;
|
||||
DROP TABLE t;
|
||||
connection slave;
|
||||
SET GLOBAL debug_dbug= @save_debug;
|
||||
include/rpl_end.inc
|
@@ -0,0 +1,2 @@
|
||||
--binlog-row-event-max-size=8192
|
||||
|
66
mysql-test/suite/rpl/t/rpl_row_end_of_statement_loss.test
Normal file
66
mysql-test/suite/rpl/t/rpl_row_end_of_statement_loss.test
Normal file
@@ -0,0 +1,66 @@
|
||||
--source include/have_debug.inc
|
||||
--source include/have_binlog_format_row.inc
|
||||
--source include/master-slave.inc
|
||||
|
||||
# Loss of STMT_END flagged event must error out the IO thread
|
||||
--connection slave
|
||||
call mtr.add_suppression("Slave IO thread did not receive an expected Rows-log end-of-statement");
|
||||
call mtr.add_suppression("Relay log write failure: could not queue event from master");
|
||||
|
||||
SET @save_debug= @@global.debug;
|
||||
SET GLOBAL debug_dbug="+d,simulate_stmt_end_rows_event_loss";
|
||||
--source include/stop_slave.inc
|
||||
--replace_result $MASTER_MYPORT MASTER_PORT
|
||||
--eval CHANGE MASTER TO master_host = '127.0.0.1', master_port = $MASTER_MYPORT, MASTER_USE_GTID=SLAVE_POS
|
||||
|
||||
--connection master
|
||||
--let $max_row_size=8192
|
||||
--eval CREATE TABLE t (a INT, b text($max_row_size));
|
||||
--eval INSERT INTO t values (1, repeat('b', $max_row_size)), (1, repeat('b', $max_row_size))
|
||||
|
||||
# Prove that the missed STMT_END marked rows-event causes the io thread stop.
|
||||
--connection slave
|
||||
START SLAVE IO_THREAD;
|
||||
--let $slave_io_errno=1595
|
||||
--source include/wait_for_slave_io_error.inc
|
||||
SET GLOBAL debug_dbug="-d,simulate_stmt_end_rows_event_loss";
|
||||
--source include/start_slave.inc
|
||||
|
||||
--connection master
|
||||
sync_slave_with_master;
|
||||
|
||||
# Compressed version of the above
|
||||
--connection slave
|
||||
--source include/stop_slave.inc
|
||||
|
||||
--connection master
|
||||
SET @save_log_bin_compress= @@GLOBAL.log_bin_compress;
|
||||
SET @save_log_bin_compress_min_len= @@GLOBAL.log_bin_compress_min_len;
|
||||
|
||||
SET @@GLOBAL.log_bin_compress=ON;
|
||||
SET @@GLOBAL.log_bin_compress_min_len=10;
|
||||
|
||||
--eval INSERT INTO t values (2, repeat('b', $max_row_size)), (2, repeat('b', $max_row_size))
|
||||
|
||||
# Prove that the missed STMT_END marked rows-event causes the io thread stop.
|
||||
--connection slave
|
||||
SET GLOBAL debug_dbug="+d,simulate_stmt_end_rows_event_loss";
|
||||
START SLAVE IO_THREAD;
|
||||
--let $slave_io_errno=1595
|
||||
--source include/wait_for_slave_io_error.inc
|
||||
SET GLOBAL debug_dbug="-d,simulate_stmt_end_rows_event_loss";
|
||||
--source include/start_slave.inc
|
||||
|
||||
--connection master
|
||||
sync_slave_with_master;
|
||||
|
||||
# cleanup
|
||||
|
||||
--connection master
|
||||
SET @@GLOBAL.log_bin_compress= @save_log_bin_compress;
|
||||
SET @@GLOBAL.log_bin_compress_min_len= @save_log_bin_compress_min_len;
|
||||
DROP TABLE t;
|
||||
sync_slave_with_master;
|
||||
SET GLOBAL debug_dbug= @save_debug;
|
||||
|
||||
--source include/rpl_end.inc
|
Reference in New Issue
Block a user