Details
-
Task
-
Status: Confirmed (View Workflow)
-
Major
-
Resolution: Unresolved
-
Q3/2026 Replic. Maintenance
Description
In a typical client-server connection, including Asynchronous Replication, the client sends a COM_QUIT command to the server as it closes.
Instead of this signal, a Semi-Synchronous Replica spawns a duplicate connection for the sole purpose of running a KILL original_connection command.
This implementation is not only inconsistent (a sign of poor design) but also error-prone (see § Issue Links).
This difference likely originated from the fact that, until MDEV-32551/MDEV-32385, the protocol ACK receiver did not recognize the COM_QUIT signal and errored when encountering one.
But now that MDEV-32551 pioneers the pre-existing disconnection signal of the base client-server protocol, this master-side handling can replace and remove (if it hasn't already made obsolete) this extraneous and fragile slave self-KILL, including the various bugfixes that try to keep these shambles together.
Attachments
Issue Links
- includes
-
MDEV-28141 Slave crashes with Packets out of order when connecting to a shutting down master
-
- Open
-
- is caused by
-
MDEV-32385 Semi-Sync Ack_Receiver Thread Should Allow COM_QUIT Command
-
- Closed
-
-
MDEV-32551 "Read semi-sync reply magic number error" warnings on master
-
- Closed
-
- relates to
-
MDEV-28114 Semi-sync Master ACK Receiver Thread Can Error on COM_QUIT
-
- Closed
-
-
MDEV-36663 Semi-sync Replica Can't Kill Dump Thread When Using SSL
-
- Closed
-
-
MDEV-37316 Change Replication and other sql/* to use Connector/C
-
- Open
-
-
MDEV-39641 Semi-Sync Replica can KILL a reässigned connection
-
- Open
-
- links to