Details
-
Task
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
None
-
None
Description
The new SERVER_TOO_MUCH_LAG status that's to be added in MXS-6571 needs to be detected by readwritesplit. If detected, the router should behave as if sync_transaction=soft is in effect but with a very low initial value of sync_transaction_timeout. While the SERVER_TOO_MUCH_LAG status is observed, the router should gradually increase the timeout for the transaction sync until the status bit disappears. The exact algorithm for the incrementing needs some research and experimentation but an initial version of linear increase of 5ms per minute should be a reasonable starting point.
The value of sync_transaction_timeout could act as the hard limit above which the timeouts would never increase. This guarantees a reasonable rate of progress without triggering timeouts. The current default of 10 seconds could be lowered to 1 second to make it so that a commit will at most take one second. This is more suitable for the sync_transaction=soft mode which is a feature that's more generally usable compared to the synchronous replication of the sync_transaction=hard mode.
Attachments
Issue Links
- is part of
-
MXS-6235 prepare for switchover by throttling writes - keep replication lag low
-
- Open
-