Details
-
New Feature
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
None
-
None
Description
Currently, when a replication configuration is configured to use semi-sync, the slave only ACKs when it has confirmed it has received the transaction (i.e. that it is written it to the relay log). It is never assured that the transaction is committed.
We could add a new option for semi-sync slaves that would allow a configurable ACK point.
The differnt ACK points are:
1) Send Ack when transactions is received (like now)
2) Send Ack when the transaction is written to relay log and synced. This option also require a change on the slave that it should not delay relay logs in case of restart.
3) Send Ack when the transaction has committed.
Note that the current implementation of semi-sync has special network-level overrides to be able to piggy-back an ACK in-between transactions between the slave's IO thread and the master's binlog_dump_thread. This would probably have to be changed for option 3 to support a more general way for the slave to ACK transactions.
Attachments
Issue Links
- relates to
-
MDEV-11855 Make semisync crash safe with the cluster
-
- Open
-
-
MDEV-19140 Full synchronous replication
-
- Open
-
-
MDEV-33491 Semi-sync Replication Group ACK
-
- Stalled
-
-
MDEV-37603 Semi-sync Replication Wait Point AFTER_PREPARE
-
- Open
-