include/master-slave.inc
Warnings:
Note	####	Sending passwords in plain text without SSL/TLS is extremely insecure.
Note	####	Storing MySQL user name or password information in the master info repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START SLAVE; see the 'START SLAVE Syntax' in the MySQL Manual for more information.
[connection master]
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
call mtr.add_suppression("Option binlog_cache_size ");
SET GLOBAL max_binlog_cache_size = 4096;
Warnings:
Warning	1738	Option binlog_cache_size (32768) is greater than max_binlog_cache_size (4096); setting binlog_cache_size equal to max_binlog_cache_size.
SET GLOBAL binlog_cache_size = 4096;
SET GLOBAL max_binlog_stmt_cache_size = 4096;
Warnings:
Warning	1745	Option binlog_stmt_cache_size (32768) is greater than max_binlog_stmt_cache_size (4096); setting binlog_stmt_cache_size equal to max_binlog_stmt_cache_size.
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;
BEGIN;
Got one of the listed errors
Got one of the listed errors
Got one of the listed errors
BEGIN;
Got one of the listed errors
Got one of the listed errors
BEGIN;
Got one of the listed errors
Got one of the listed errors
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
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
COMMIT;
BEGIN;
Got one of the listed errors
COMMIT;
include/diff_tables.inc [master:t1,slave:t1]
####### 8 - LOAD DATA INFILE INTO TABLE #######
[connection master]
CREATE TABLE t6 (a varchar(20)) ENGINE=Innodb;
LOAD DATA INFILE 'temp_file' INTO TABLE t6;
ERROR HY000: Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage; increase this mysqld variable and try again
include/assert.inc [assert that the above Event has not been added to binlog]
include/assert.inc [Check that the LOAD DATA didn't add any data into the table]
include/sync_slave_sql_with_master.inc
include/assert.inc [Check that the LOAD DATA didn't add any data into the table]
[connection master]
DROP TABLE t6;
include/sync_slave_sql_with_master.inc
######### 9 - Bug#55375(Regression Bug) Transaction bigger than  ##########
#########     max_binlog_cache_size crashes slave                ##########
# [ On Slave ]
SET GLOBAL max_binlog_cache_size = 4096;
Warnings:
Warning	1738	Option binlog_cache_size (32768) is greater than max_binlog_cache_size (4096); setting binlog_cache_size equal to max_binlog_cache_size.
SET GLOBAL binlog_cache_size = 4096;
SET GLOBAL max_binlog_stmt_cache_size = 4096;
Warnings:
Warning	1745	Option binlog_stmt_cache_size (32768) is greater than max_binlog_stmt_cache_size (4096); setting binlog_stmt_cache_size equal to max_binlog_stmt_cache_size.
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");
call mtr.add_suppression("The slave coordinator and worker threads are stopped, possibly leaving data in inconsistent state");
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,1197]
SELECT count(*) FROM t1;
count(*)
0
include/show_binlog_events.inc
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
######## CHECK MAX_BINLOG_CACHE_SIZE and BINLOG_CACHE_SIZE #########
SET @@GLOBAL.MAX_BINLOG_CACHE_SIZE= 8192;
Warnings:
Warning	1738	Option binlog_cache_size (32768) is greater than max_binlog_cache_size (8192); setting binlog_cache_size equal to max_binlog_cache_size.
SHOW VARIABLES LIKE 'MAX_BINLOG_CACHE_SIZE';
Variable_name	Value
max_binlog_cache_size	8192
SHOW VARIABLES LIKE 'BINLOG_CACHE_SIZE';
Variable_name	Value
binlog_cache_size	8192
SET @@GLOBAL.BINLOG_CACHE_SIZE= 16384;
Warnings:
Warning	1738	Option binlog_cache_size (16384) is greater than max_binlog_cache_size (8192); setting binlog_cache_size equal to max_binlog_cache_size.
SHOW VARIABLES LIKE 'MAX_BINLOG_CACHE_SIZE';
Variable_name	Value
max_binlog_cache_size	8192
SHOW VARIABLES LIKE 'BINLOG_CACHE_SIZE';
Variable_name	Value
binlog_cache_size	8192
SET @@GLOBAL.MAX_BINLOG_CACHE_SIZE= 4096;
Warnings:
Warning	1738	Option binlog_cache_size (8192) is greater than max_binlog_cache_size (4096); setting binlog_cache_size equal to max_binlog_cache_size.
SHOW VARIABLES LIKE 'MAX_BINLOG_CACHE_SIZE';
Variable_name	Value
max_binlog_cache_size	4096
SHOW VARIABLES LIKE 'BINLOG_CACHE_SIZE';
Variable_name	Value
binlog_cache_size	4096
######### 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
