I see the following output from the test case on upstream 5.6.27:
openxs@ao756:~/dbs/5.6/mysql-test$ cat suite/rpl/t/bug1483251.test --source include/have_binlog_format_row.inc --source include/master-slave.inc
CREATE TABLE `t` ( `f1` int(10) unsigned NOT NULL, PRIMARY KEY (`f1`) ) ENGINE=InnoDB;
--delimiter | CREATE TRIGGER t_insert_trig AFTER INSERT ON t FOR EACH ROW BEGIN SAVEPOINT savepoint_1; SET @a = 10; END | --delimiter ;
INSERT INTO t VALUES (2); INSERT INTO t VALUES (3);
--source include/show_binlog_events.inc
SELECT * FROM t;
--source include/sync_slave_sql_with_master.inc
--connection slave SELECT * FROM t; --source include/show_binlog_events.inc
--connection master DROP TABLE t;
--source include/rpl_end.inc
openxs@ao756:~/dbs/5.6/mysql-test$ ./mtr --suite=rpl bug1483251 Logging: ./mtr --suite=rpl bug1483251 2015-11-17 09:55:23 0 [Note] /home/openxs/dbs/5.6/bin/mysqld (mysqld 5.6.27) starting as process 25121 ... 2015-11-17 09:55:23 25121 [Warning] Buffered warning: Changed limits: max_open_files: 1024 (requested 5000)
2015-11-17 09:55:23 25121 [Warning] Buffered warning: Changed limits: table_open_cache: 431 (requested 2000)
2015-11-17 09:55:23 25121 [Note] Plugin 'FEDERATED' is disabled. 2015-11-17 09:55:23 25121 [Note] Binlog end 2015-11-17 09:55:23 25121 [Note] Shutting down plugin 'CSV' 2015-11-17 09:55:23 25121 [Note] Shutting down plugin 'MyISAM' MySQL Version 5.6.27 Checking supported features... - SSL connections supported Collecting tests... - adding combinations for rpl Checking leftover processes... Removing old var directory... Creating var directory '/home/openxs/dbs/5.6/mysql-test/var'... Installing system database...
==============================================================================
TEST RESULT TIME (ms) or COMMENT --------------------------------------------------------------------------
worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 13000..13009 rpl.bug1483251 'mix' [ skipped ] Doesn't support --binlog-format='mixed' rpl.bug1483251 'row' [ fail ] Test ended at 2015-11-17 09:55:37
CURRENT_TEST: rpl.bug1483251 --- /home/openxs/dbs/5.6/mysql-test/suite/rpl/r/bug1483251.result 2015-11-17 10:48:36.487992561 +0300 +++ /home/openxs/dbs/5.6/mysql-test/var/log/bug1483251.reject 2015-11-17 10:55:37.663973783 +0300 @@ -0,0 +1,72 @@ +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] +CREATE TABLE `t` ( +`f1` int(10) unsigned NOT NULL, +PRIMARY KEY (`f1`) +) ENGINE=InnoDB; +CREATE TRIGGER t_insert_trig AFTER INSERT ON t +FOR EACH ROW +BEGIN +SAVEPOINT savepoint_1; +SET @a = 10; +END | +INSERT INTO t VALUES (2); +INSERT INTO t VALUES (3); +include/show_binlog_events.inc +Log_name Pos Event_type Server_id End_log_pos Info +master-bin.000001 # Query # # use `test`; CREATE TABLE `t` ( +`f1` int(10) unsigned NOT NULL, +PRIMARY KEY (`f1`) +) ENGINE=InnoDB +master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` TRIGGER t_insert_trig AFTER INSERT ON t +FOR EACH ROW +BEGIN +SAVEPOINT savepoint_1; +SET @a = 10; +END +master-bin.000001 # Query # # BEGIN +master-bin.000001 # Table_map # # table_id: # (test.t) +master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F +master-bin.000001 # Query # # SAVEPOINT `savepoint_1` +master-bin.000001 # Xid # # COMMIT /* XID */ +master-bin.000001 # Query # # BEGIN +master-bin.000001 # Table_map # # table_id: # (test.t) +master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F +master-bin.000001 # Query # # SAVEPOINT `savepoint_1` +master-bin.000001 # Xid # # COMMIT /* XID */ +SELECT * FROM t; +f1 +2 +3 +include/sync_slave_sql_with_master.inc +SELECT * FROM t; +f1 +2 +3 +include/show_binlog_events.inc +Log_name Pos Event_type Server_id End_log_pos Info +slave-bin.000001 # Query # # use `test`; CREATE TABLE `t` ( +`f1` int(10) unsigned NOT NULL, +PRIMARY KEY (`f1`) +) ENGINE=InnoDB +slave-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` TRIGGER t_insert_trig AFTER INSERT ON t +FOR EACH ROW +BEGIN +SAVEPOINT savepoint_1; +SET @a = 10; +END +slave-bin.000001 # Query # # BEGIN +slave-bin.000001 # Table_map # # table_id: # (test.t) +slave-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F +slave-bin.000001 # Query # # SAVEPOINT `savepoint_1` +slave-bin.000001 # Xid # # COMMIT /* XID */ +slave-bin.000001 # Query # # BEGIN +slave-bin.000001 # Table_map # # table_id: # (test.t) +slave-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F +slave-bin.000001 # Query # # SAVEPOINT `savepoint_1` +slave-bin.000001 # Xid # # COMMIT /* XID */ +DROP TABLE t; +include/rpl_end.inc ...
It seems now test passes as expected. Can you double check if I missed something?
I see the following output from the test case on upstream 5.6.27:
openxs@ ao756:~ /dbs/5. 6/mysql- test$ cat suite/rpl/t/bug1483251.test have_binlog_ format_ row.inc master- slave.inc
--source include/
--source include/
CREATE TABLE `t` (
`f1` int(10) unsigned NOT NULL,
PRIMARY KEY (`f1`)
) ENGINE=InnoDB;
--delimiter |
SAVEPOINT savepoint_1;
SET @a = 10;
CREATE TRIGGER t_insert_trig AFTER INSERT ON t
FOR EACH ROW
BEGIN
END |
--delimiter ;
INSERT INTO t VALUES (2);
INSERT INTO t VALUES (3);
--source include/ show_binlog_ events. inc
SELECT * FROM t;
--source include/ sync_slave_ sql_with_ master. inc
--connection slave show_binlog_ events. inc
SELECT * FROM t;
--source include/
--connection master
DROP TABLE t;
--source include/rpl_end.inc
openxs@ ao756:~ /dbs/5. 6/mysql- test$ ./mtr --suite=rpl bug1483251 dbs/5.6/ bin/mysqld (mysqld 5.6.27) starting as process 25121 ...
Logging: ./mtr --suite=rpl bug1483251
2015-11-17 09:55:23 0 [Note] /home/openxs/
2015-11-17 09:55:23 25121 [Warning] Buffered warning: Changed limits: max_open_files: 1024 (requested 5000)
2015-11-17 09:55:23 25121 [Warning] Buffered warning: Changed limits: table_open_cache: 431 (requested 2000)
2015-11-17 09:55:23 25121 [Note] Plugin 'FEDERATED' is disabled. openxs/ dbs/5.6/ mysql-test/ var'...
2015-11-17 09:55:23 25121 [Note] Binlog end
2015-11-17 09:55:23 25121 [Note] Shutting down plugin 'CSV'
2015-11-17 09:55:23 25121 [Note] Shutting down plugin 'MyISAM'
MySQL Version 5.6.27
Checking supported features...
- SSL connections supported
Collecting tests...
- adding combinations for rpl
Checking leftover processes...
Removing old var directory...
Creating var directory '/home/
Installing system database...
======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= =
TEST RESULT TIME (ms) or COMMENT ------- ------- ------- ------- ------- ------- ------- ------- ------- ----
-------
worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 13000..13009 format= 'mixed'
rpl.bug1483251 'mix' [ skipped ] Doesn't support --binlog-
rpl.bug1483251 'row' [ fail ]
Test ended at 2015-11-17 09:55:37
CURRENT_TEST: rpl.bug1483251 dbs/5.6/ mysql-test/ suite/rpl/ r/bug1483251.result 2015-11-17 10:48:36.487992561 +0300 dbs/5.6/ mysql-test/ var/log/bug1483251.reject 2015-11-17 10:55:37.663973783 +0300 master- slave.inc show_binlog_ events. inc `root`@ `localhost` TRIGGER t_insert_trig AFTER INSERT ON t sync_slave_ sql_with_ master. inc show_binlog_ events. inc `root`@ `localhost` TRIGGER t_insert_trig AFTER INSERT ON t rpl_end. inc
--- /home/openxs/
+++ /home/openxs/
@@ -0,0 +1,72 @@
+include/
+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]
+CREATE TABLE `t` (
+`f1` int(10) unsigned NOT NULL,
+PRIMARY KEY (`f1`)
+) ENGINE=InnoDB;
+CREATE TRIGGER t_insert_trig AFTER INSERT ON t
+FOR EACH ROW
+BEGIN
+SAVEPOINT savepoint_1;
+SET @a = 10;
+END |
+INSERT INTO t VALUES (2);
+INSERT INTO t VALUES (3);
+include/
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; CREATE TABLE `t` (
+`f1` int(10) unsigned NOT NULL,
+PRIMARY KEY (`f1`)
+) ENGINE=InnoDB
+master-bin.000001 # Query # # use `test`; CREATE DEFINER=
+FOR EACH ROW
+BEGIN
+SAVEPOINT savepoint_1;
+SET @a = 10;
+END
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Table_map # # table_id: # (test.t)
+master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # SAVEPOINT `savepoint_1`
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Table_map # # table_id: # (test.t)
+master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # SAVEPOINT `savepoint_1`
+master-bin.000001 # Xid # # COMMIT /* XID */
+SELECT * FROM t;
+f1
+2
+3
+include/
+SELECT * FROM t;
+f1
+2
+3
+include/
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000001 # Query # # use `test`; CREATE TABLE `t` (
+`f1` int(10) unsigned NOT NULL,
+PRIMARY KEY (`f1`)
+) ENGINE=InnoDB
+slave-bin.000001 # Query # # use `test`; CREATE DEFINER=
+FOR EACH ROW
+BEGIN
+SAVEPOINT savepoint_1;
+SET @a = 10;
+END
+slave-bin.000001 # Query # # BEGIN
+slave-bin.000001 # Table_map # # table_id: # (test.t)
+slave-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+slave-bin.000001 # Query # # SAVEPOINT `savepoint_1`
+slave-bin.000001 # Xid # # COMMIT /* XID */
+slave-bin.000001 # Query # # BEGIN
+slave-bin.000001 # Table_map # # table_id: # (test.t)
+slave-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+slave-bin.000001 # Query # # SAVEPOINT `savepoint_1`
+slave-bin.000001 # Xid # # COMMIT /* XID */
+DROP TABLE t;
+include/
...
It seems now test passes as expected. Can you double check if I missed something?