Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
25.10.4
-
None
-
MXS-SPRINT-280
-
Can result in unexpected behaviour
-
Readwritesplit now ties the transaction sync responses to the GTID being synced to avoid a slow sync response from a previous transaction from being counted as a sync response for the current one.
Description
If one server is very slow to respond to the transaction sync query and another one is faster and deliver the sync, a subsequent transaction may end up being acknowledged by the older stale sync if both servers suddenly stop replicating (i.e. lose the Slave status).
This happens because the bookkeeping for the syncs does not uniquely identify which transaction is being synced and instead keeps track of how many are ongoing. This works in most cases but in the aforementioned case, this isn't enough information to know that the sync is stale.
The solution is to embed the GTID being synced into the sync payload.
Attachments
Issue Links
- blocks
-
MXS-7561 Automatically enable sync_transaction if throttling starts
-
- Closed
-