Details
-
Bug
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
10.11
-
Unexpected results
-
Fix mariadb-binlog GTID --start/stop-position not checking Server IDs, only Domain IDs and Sequence Numbers
Description
mariadb-binlog --start-position=0-9-2 --stop-position=0-9-4 can start after 0-1-2 and stop at 0-1-4.
This is incorrect, especially in a --skip-gtid-strict-mode environment:
Sequence numbers can be assumed to be increasing within a single (domain_id, server_id) pair, but not between different server_id.
So if the binlog contains:
0-1-10 0-1-11 0-2-10 0-2-11 0-2-12 0-3-11 0-3-12
Then a starting position of 0-2-10 must start with the GTID 0-2-11, not 0-1-11.
Likewise, a stop postion of 0-3-11 must stop at 0-3-11, not 0-1-11 or 0-2-11.⸺ knielsen, https://jira.mariadb.org/browse/MDEV-34614?focusedCommentId=308450#comment-308450
In contrast, if using a GTID with a nonexistent Server ID,
- Replication runs until the end for START REPLICA UNTIL master_gtid_pos=...;
- The IO thread fatal errors with "[...] GTID [x-y-z], which is not in the master's binlog. ..." for CHANGE MASTER TO master_use_gtid=... (start GTID).
Attachments
Issue Links
- relates to
-
MDEV-34614 mysqlbinlog warn on EOF before GTID in --stop-position
-
- Closed
-