include/master-slave.inc
[connection master]
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
SET GLOBAL max_binlog_cache_size = 4096;
SET GLOBAL binlog_cache_size = 4096;
SET GLOBAL max_binlog_stmt_cache_size = 4096;
SET GLOBAL binlog_stmt_cache_size = 4096;
CREATE TABLE t1(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=Innodb;
CREATE TABLE t2(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=MyIsam;
CREATE TABLE t3(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=Innodb;
########################################################################################
#                                   1 - SINGLE STATEMENT
########################################################################################
*** Single statement on transactional table ***
Got one of the listed errors
*** Single statement on non-transactional table ***
Got one of the listed errors
include/wait_for_slave_sql_error_and_skip.inc [errno=1590]
*** Single statement on both transactional and non-transactional tables. ***
Got one of the listed errors
include/wait_for_slave_sql_error_and_skip.inc [errno=1590]
include/diff_tables.inc [master:t1,slave:t1]
########################################################################################
#                             2 - BEGIN - IMPLICIT COMMIT by DDL
########################################################################################
TRUNCATE TABLE t1;
TRUNCATE TABLE t2;
TRUNCATE TABLE t3;
set default_storage_engine=innodb;
BEGIN;
Got one of the listed errors
Got one of the listed errors
Got one of the listed errors
INSERT INTO t1 (a, data) VALUES (7, 's');;
INSERT INTO t2 (a, data) VALUES (8, 's');;
INSERT INTO t1 (a, data) VALUES (9, 's');;
ALTER TABLE t3 ADD COLUMN d int;
BEGIN;
Got one of the listed errors
Got one of the listed errors
INSERT INTO t1 (a, data) VALUES (19, 's');;
INSERT INTO t2 (a, data) VALUES (20, 's');;
INSERT INTO t1 (a, data) VALUES (21, 's');;
CREATE TABLE t4 SELECT * FROM t1;
Got one of the listed errors
BEGIN;
Got one of the listed errors
Got one of the listed errors
INSERT INTO t1 (a, data) VALUES (27, 's');;
INSERT INTO t2 (a, data) VALUES (28, 's');;
INSERT INTO t1 (a, data) VALUES (29, 's');;
CREATE TABLE t5 (a int);
include/diff_tables.inc [master:t1,slave:t1]
########################################################################################
#                                     3 - BEGIN - COMMIT
########################################################################################
TRUNCATE TABLE t1;
TRUNCATE TABLE t2;
TRUNCATE TABLE t3;
BEGIN;
Got one of the listed errors
Got one of the listed errors
Got one of the listed errors
COMMIT;
include/diff_tables.inc [master:t1,slave:t1]
########################################################################################
#                                      4 - BEGIN - ROLLBACK
########################################################################################
TRUNCATE TABLE t1;
TRUNCATE TABLE t2;
TRUNCATE TABLE t3;
BEGIN;
Got one of the listed errors
Got one of the listed errors
Got one of the listed errors
ROLLBACK;
Warnings:
Warning	1196	Some non-transactional changed tables couldn't be rolled back
include/diff_tables.inc [master:t1,slave:t1]
########################################################################################
#                                         5 - PROCEDURE 
########################################################################################
TRUNCATE TABLE t1;
TRUNCATE TABLE t2;
TRUNCATE TABLE t3;
CREATE PROCEDURE p1(pd VARCHAR(30000))
BEGIN
INSERT INTO t1 (a, data) VALUES (1, pd);
INSERT INTO t1 (a, data) VALUES (2, pd);
INSERT INTO t1 (a, data) VALUES (3, pd);
INSERT INTO t1 (a, data) VALUES (4, pd);
INSERT INTO t1 (a, data) VALUES (5, 's');
END//
TRUNCATE TABLE t1;
TRUNCATE TABLE t1;
BEGIN;
Got one of the listed errors
COMMIT;
TRUNCATE TABLE t1;
BEGIN;
Got one of the listed errors
ROLLBACK;
include/diff_tables.inc [master:t1,slave:t1]
########################################################################################
#                                           6 - XID
########################################################################################
TRUNCATE TABLE t1;
TRUNCATE TABLE t2;
TRUNCATE TABLE t3;
BEGIN;
Got one of the listed errors
Got one of the listed errors
Got one of the listed errors
INSERT INTO t1 (a, data) VALUES (7, 's');;
INSERT INTO t2 (a, data) VALUES (8, 's');;
INSERT INTO t1 (a, data) VALUES (9, 's');;
ROLLBACK TO sv;
Warnings:
Warning	1196	Some non-transactional changed tables couldn't be rolled back
COMMIT;
include/diff_tables.inc [master:t1,slave:t1]
########################################################################################
#                                        7 - NON-TRANS TABLE
########################################################################################
TRUNCATE TABLE t1;
TRUNCATE TABLE t2;
TRUNCATE TABLE t3;
BEGIN;
Got one of the listed errors
Got one of the listed errors
Got one of the listed errors
INSERT INTO t1 (a, data) VALUES (8, 's');;
INSERT INTO t1 (a, data) VALUES (9, 's');;
INSERT INTO t2 (a, data) VALUES (10, 's');;
INSERT INTO t1 (a, data) VALUES (11, 's');;
COMMIT;
BEGIN;
Got one of the listed errors
COMMIT;
include/diff_tables.inc [master:t1,slave:t1]
########################################################################
#      8 - Bug#55375(Regression Bug) Transaction bigger than
#          max_binlog_cache_size crashes slave
########################################################################
# [ On Slave ]
SET GLOBAL max_binlog_cache_size = 4096;
SET GLOBAL binlog_cache_size = 4096;
SET GLOBAL max_binlog_stmt_cache_size = 4096;
SET GLOBAL binlog_stmt_cache_size = 4096;
include/stop_slave.inc
include/start_slave.inc
CALL mtr.add_suppression("Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage.*");
CALL mtr.add_suppression("Multi-statement transaction required more than 'max_binlog_stmt_cache_size' bytes of storage.*");
CALL mtr.add_suppression("Writing one row to the row-based binary log failed.*");
CALL mtr.add_suppression("Slave SQL.*The incident LOST_EVENTS occured on the master. Message: error writing to the binary log");
TRUNCATE t1;
SET GLOBAL max_binlog_cache_size= ORIGINAL_VALUE;
SET GLOBAL binlog_cache_size= ORIGINAL_VALUE;
SET GLOBAL max_binlog_stmt_cache_size= ORIGINAL_VALUE;
SET GLOBAL binlog_stmt_cache_size= ORIGINAL_VALUE;
BEGIN;
Repeat statement 'INSERT INTO t1 VALUES($n, repeat("a", 32))' 128 times
COMMIT;
include/wait_for_slave_sql_error.inc [errno=1534]
SELECT count(*) FROM t1;
count(*)
0
show binlog events in 'slave-bin.000001' from <binlog_start>;
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
SET GLOBAL max_binlog_cache_size= ORIGINAL_VALUE;
SET GLOBAL binlog_cache_size= ORIGINAL_VALUE;
SET GLOBAL max_binlog_stmt_cache_size= ORIGINAL_VALUE;
SET GLOBAL binlog_stmt_cache_size= ORIGINAL_VALUE;
include/stop_slave.inc
include/start_slave.inc
SELECT count(*) FROM t1;
count(*)
128
########################################################################################
#                                        CLEAN
########################################################################################
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
DROP TABLE IF EXISTS t4;
DROP TABLE t5;
DROP PROCEDURE p1;
include/rpl_end.inc
