Bug #76959 | Gaps in Retrieved_Gtid_Set while no gaps in Executed_Gtid_Set | ||
---|---|---|---|
Submitted: | 6 May 2015 17:48 | Modified: | 7 Sep 2015 14:36 |
Reporter: | Sveta Smirnova (OCA) | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Replication | Severity: | S3 (Non-critical) |
Version: | 5.6.24 | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[6 May 2015 17:48]
Sveta Smirnova
[6 May 2015 17:48]
Sveta Smirnova
test case
Attachment: rpl_issue52049.test (application/octet-stream, text), 724 bytes.
[6 May 2015 17:49]
Sveta Smirnova
option file for master
Attachment: rpl_issue52049-master.opt (application/octet-stream, text), 103 bytes.
[6 May 2015 17:51]
Sveta Smirnova
option file for slave
Attachment: rpl_issue52049-slave.opt (application/octet-stream, text), 102 bytes.
[6 May 2015 17:53]
Sveta Smirnova
See also https://bugs.launchpad.net/mysql-server/+bug/1452397
[7 May 2015 6:53]
MySQL Verification Team
Hello Sveta, Thank you for the report and test case. Observed this with 6.2.4. Thanks, Umesh
[7 May 2015 6:57]
MySQL Verification Team
test results
Attachment: 76959.txt (text/plain), 12.82 KiB.
[7 Sep 2015 14:36]
Jon Stephens
Documented fix in the MySQL 5.6.27 changelog as follows: Under certain circumstances it was possible for Retrieved_Gtid_Set on the slave to contain gaps while no gaps appeared in Executed_Gtid_Set or the slave's binary logs. This could happen when slave rotated the relay log in such a way that the last event of this log contained the record which set GTID_NEXT, and was then restarted after reading GTIDs from the following log. Following the restart, Retrieved_Gtid_Set contained GTIDs which were executed incorrectly as well as spurious or "phantom" gaps. The fix for this problem adds a GTID to Retrieved_Gtid_Set before writing the event to the relay log, rather than after. If for some reason writing to relay log fails, the GTID is removed from Retrieved_Gtid_Set. Closed.