Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-39583

Replace the slave-side graceful self-KILL with the master-side COM_QUIT handing in Semi-Synchronous Replication

    XMLWordPrintable

Details

    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

          Activity

            People

              ParadoxV5 Jimmy Hú
              ParadoxV5 Jimmy Hú
              Brandon Nesterenko Brandon Nesterenko
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.