MDEV-4708: GTID strict mode doesn't work on a database with purged binlogs
When a new master is provisioned that does not have any old binlogs, the @@gtid_slave_pos is used to know where in the GTID history the provisioning happened. A slave is allowed to connect at the point of this value of @@gtid_slave_pos, even if that GTID is not in the binlogs on the new master. But --gtid-strict-mode did not correctly handle this case. When strict mode was enabled, an attempt to connect at the position would cause an error about holes in the binlog, which is not correct. This patch adds a hash of GTIDs that need to be treated specially by GTID strict mode to deal correctly with this case.
Showing
Please register or sign in to comment