diff options
author | Andrei Elkin <andrei.elkin@mariadb.com> | 2018-01-26 23:26:39 +0200 |
---|---|---|
committer | Monty <monty@mariadb.org> | 2018-01-27 14:35:54 +0200 |
commit | c09371dce66c48393cb9d1c56f9add23664c772f (patch) | |
tree | 6a888a7d77339a1afb31503b208804273b55a89f /mysql-test/suite/rpl/r/rpl_semi_sync_skip_repl.result | |
parent | 0d31b4b3288d96d5fddc6c6c55d1e7ec9222d7df (diff) | |
download | mariadb-git-c09371dce66c48393cb9d1c56f9add23664c772f.tar.gz |
MDEV-14721 Big transaction events get lost on semisync master when
replicate_events_marked_for_skip=FILTER_ON_MASTER
When events of a big transaction are binlogged offsetting over 2GB from
the beginning of the log the semisync master's dump thread
lost such events.
The events were skipped by the Dump thread that found their skipping
status erroneously.
The current fixes make sure the skipping status is computed correctly.
The test verifies them simulating the 2GB offset.
Diffstat (limited to 'mysql-test/suite/rpl/r/rpl_semi_sync_skip_repl.result')
-rw-r--r-- | mysql-test/suite/rpl/r/rpl_semi_sync_skip_repl.result | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/mysql-test/suite/rpl/r/rpl_semi_sync_skip_repl.result b/mysql-test/suite/rpl/r/rpl_semi_sync_skip_repl.result new file mode 100644 index 00000000000..811715d1439 --- /dev/null +++ b/mysql-test/suite/rpl/r/rpl_semi_sync_skip_repl.result @@ -0,0 +1,30 @@ +include/master-slave.inc +[connection master] +connection master; +call mtr.add_suppression("Timeout waiting for reply of binlog"); +SET @@GLOBAL.rpl_semi_sync_master_enabled = 1; +SET @@GLOBAL.rpl_semi_sync_master_timeout=100; +connection slave; +include/stop_slave.inc +SET @@GLOBAL.replicate_events_marked_for_skip=FILTER_ON_MASTER; +SET @@GLOBAL. rpl_semi_sync_slave_enabled = 1; +include/start_slave.inc +connection master; +CREATE TABLE t1 (a INT) ENGINE=innodb; +SET @@GLOBAL.debug_dbug= "d,dbug_master_binlog_over_2GB"; +SET @@SESSION.skip_replication=1; +INSERT INTO t1 SET a=1; +SET @@SESSION.skip_replication=0; +INSERT INTO t1 SET a=0; +connection slave; +connection master; +SET @@GLOBAL.debug_dbug=""; +SET @@GLOBAL. rpl_semi_sync_master_timeout = 10000; +SET @@GLOBAL. rpl_semi_sync_master_enabled = 0; +connection master; +DROP TABLE t1; +connection slave; +include/stop_slave.inc +SET @@GLOBAL. rpl_semi_sync_slave_enabled = 0; +SET @@GLOBAL.replicate_events_marked_for_skip = REPLICATE; +include/rpl_end.inc |