Done
Details
Assignee
Kamil HolubickiKamil HolubickiReporter
Przemyslaw MalkowskiPrzemyslaw MalkowskiNeeds Review
YesNeeds QA
YesAffects versions
Priority
Medium
Details
Details
Assignee
Kamil Holubicki
Kamil HolubickiReporter
Przemyslaw Malkowski
Przemyslaw MalkowskiNeeds Review
Yes
Needs QA
Yes
Affects versions
Priority
Smart Checklist
Smart Checklist
Smart Checklist
Created September 9, 2022 at 11:23 AM
Updated June 6, 2024 at 7:59 AM
Resolved December 20, 2023 at 12:20 PM
In some special cases, where a PXC cluster node has an async replica, we may need to skip some events from being binlogged. Hence we can use
SET sql_log_bin=0
before a write, so that it will replicate to other PXC nodes, but it will not be binlogged.Check PXC-3731 for more details.
Unfortunately, by doing that, a GTID gap will be introduced in gtid_executed set on the PXC source. Also, after the source node is restarted, the gap event will appear in gtid_purged. This is a problem for async replicas, as they will try to fetch the missing transaction, but the source will refuse informing that it was already purged (error 1236).
As setting sql_log_bin=0 in PXC/Galera disables MySQL (async) replication, it should also effectively disable MySQL GTID, which is only needed for that type of replication. But that should be not by creating empty gaps, but rather by stopping to increase the GTID sequence number.
A simple test case using dbdeployer PXC setup: