Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
10.1(EOL)
-
10.1.9-3
Description
Problem originally reported by user rsevero on IRC FreeNode #maria.
Attached test case rpl.rpl_gtid_rsevero produces output with spurious extra CREATE TABLE statements in slave binlogs, probably depends on exact timing. For example:
master-bin.000001 314 Gtid 1 352 GTID 1-1-1
|
master-bin.000001 352 Query 1 479 use `test`; CREATE TABLE t1 (a INT PRIMARY KEY, b VARCHAR(10)) ENGINE=InnoDB
|
master-bin.000001 479 Gtid 1 517 BEGIN GTID 1-1-2
|
master-bin.000001 517 Query 1 611 use `test`; INSERT INTO t1 VALUES (1, "m1")
|
master-bin.000001 611 Xid 1 638 COMMIT /* xid=224 */
|
master-bin.000001 638 Gtid 1 676 BEGIN GTID 1-1-3
|
master-bin.000001 676 Query 1 792 use `test`; INSERT INTO t1 VALUES (2, "m2"), (3, "m3"), (4, "m4")
|
master-bin.000001 792 Xid 1 819 COMMIT /* xid=226 */
|
master-bin.000001 819 Gtid 1 857 GTID 3-1-1
|
master-bin.000001 857 Query 1 984 use `test`; CREATE TABLE t1 (a INT PRIMARY KEY, b VARCHAR(10)) ENGINE=InnoDB
|
master-bin.000001 984 Gtid 1 1022 GTID 2-1-1
|
master-bin.000001 1022 Query 1 1149 use `test`; CREATE TABLE t1 (a INT PRIMARY KEY, b VARCHAR(10)) ENGINE=InnoDB
|
master-bin.000001 1149 Gtid 1 1187 GTID 2-1-2
|
master-bin.000001 1187 Query 1 1314 use `test`; CREATE TABLE t1 (a INT PRIMARY KEY, b VARCHAR(10)) ENGINE=InnoDB
|
Note the wrong domain values in the GTIDs 3-1-1, 2-1-1, and 2-1-2; in the
test case, no transaction is ever created with a domain id other than 1.
In contrast, the same test using corresponding ignore_server_ids in place of
do_domain_ids (rpl_gtid_rsevero2) does not exhibit this problem. So looks
like a problem with the implementation of do_domain_ids, perhaps?