diff options
author | Kristian Nielsen <knielsen@knielsen-hq.org> | 2015-07-19 09:30:36 +0200 |
---|---|---|
committer | Kristian Nielsen <knielsen@knielsen-hq.org> | 2015-07-19 09:30:36 +0200 |
commit | 13dbb6fa9ed735ff58c368961c642ce643b26784 (patch) | |
tree | 8fdb9834442130743e371d1fbe3bf9b0e2180f2b /mysql-test/suite/multi_source | |
parent | d258f5ff0435cbd8b000226dc7dc3ec4e9b79cbc (diff) | |
parent | 44c4b2304b0d8dd7172b7470e29139057837bae5 (diff) | |
download | mariadb-git-13dbb6fa9ed735ff58c368961c642ce643b26784.tar.gz |
Merge MDEV-8496 into 10.1
Diffstat (limited to 'mysql-test/suite/multi_source')
-rw-r--r-- | mysql-test/suite/multi_source/gtid_ignore_duplicates.result | 33 | ||||
-rw-r--r-- | mysql-test/suite/multi_source/gtid_ignore_duplicates.test | 34 |
2 files changed, 67 insertions, 0 deletions
diff --git a/mysql-test/suite/multi_source/gtid_ignore_duplicates.result b/mysql-test/suite/multi_source/gtid_ignore_duplicates.result index a43eea47ded..2e15f11a7c7 100644 --- a/mysql-test/suite/multi_source/gtid_ignore_duplicates.result +++ b/mysql-test/suite/multi_source/gtid_ignore_duplicates.result @@ -381,6 +381,39 @@ a 50 SET GLOBAL slave_exec_mode=@old_slave_mode; SET GLOBAL gtid_strict_mode=@old_strict; +*** MDEV-8496: gtid_ignore_duplicates treats gtid_seq_no as 32-bit *** +SET @old_domain= @@SESSION.gtid_domain_id; +SET SESSION gtid_domain_id=102; +SET SESSION gtid_seq_no=4294967294; +INSERT INTO t1 VALUES (60); +INSERT INTO t1 VALUES (61); +INSERT INTO t1 VALUES (62); +SET SESSION gtid_domain_id= @old_domain; +include/save_master_gtid.inc +include/sync_with_master_gtid.inc +SELECT * FROM t1 WHERE a >= 60 ORDER BY a; +a +60 +61 +62 +SET default_master_connection = "c2b"; +include/sync_with_master_gtid.inc +SET default_master_connection = "a2b"; +include/sync_with_master_gtid.inc +SELECT * FROM t1 WHERE a >= 60 ORDER BY a; +a +60 +61 +62 +SET default_master_connection = "b2c"; +include/sync_with_master_gtid.inc +SET default_master_connection = "a2c"; +include/sync_with_master_gtid.inc +SELECT * FROM t1 WHERE a >= 60 ORDER BY a; +a +60 +61 +62 SET GLOBAL gtid_domain_id=0; STOP ALL SLAVES; Warnings: diff --git a/mysql-test/suite/multi_source/gtid_ignore_duplicates.test b/mysql-test/suite/multi_source/gtid_ignore_duplicates.test index b2c42e03335..1eea038f8c9 100644 --- a/mysql-test/suite/multi_source/gtid_ignore_duplicates.test +++ b/mysql-test/suite/multi_source/gtid_ignore_duplicates.test @@ -366,6 +366,40 @@ SET GLOBAL slave_exec_mode=@old_slave_mode; SET GLOBAL gtid_strict_mode=@old_strict; +--echo *** MDEV-8496: gtid_ignore_duplicates treats gtid_seq_no as 32-bit *** + +--connection server_1 +SET @old_domain= @@SESSION.gtid_domain_id; +SET SESSION gtid_domain_id=102; +SET SESSION gtid_seq_no=4294967294; +INSERT INTO t1 VALUES (60); +INSERT INTO t1 VALUES (61); +INSERT INTO t1 VALUES (62); +# The bug was an overflow, the seq_no value 4294967296 (2**32) was treated +# as 0, causing the last transaction to be ignored. +SET SESSION gtid_domain_id= @old_domain; +--source include/save_master_gtid.inc + +--connection server_4 +--source include/sync_with_master_gtid.inc +SELECT * FROM t1 WHERE a >= 60 ORDER BY a; + +--connection server_2 +SET default_master_connection = "c2b"; +--source include/sync_with_master_gtid.inc +SET default_master_connection = "a2b"; +--source include/sync_with_master_gtid.inc +SELECT * FROM t1 WHERE a >= 60 ORDER BY a; + +--connection server_3 +SET default_master_connection = "b2c"; +--source include/sync_with_master_gtid.inc +SET default_master_connection = "a2c"; +--source include/sync_with_master_gtid.inc +SELECT * FROM t1 WHERE a >= 60 ORDER BY a; + + + # Clean up. --connection server_1 SET GLOBAL gtid_domain_id=0; |