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

Avoid overloading the master NIC on restarting IO_THREAD on lagging slave.

    XMLWordPrintable

Details

    • Task
    • Status: Open (View Workflow)
    • Major
    • Resolution: Unresolved
    • None
    • Replication
    • None

    Description

      When GTID slave negotiation is enabled, the relay logs are wiped on starting the IO_THREAD. This might not be a big issue in most cases, but it is very bad on a lagging slave. I recently ran "STOP SLAVE; START SLAVE UNTIL ...;" on a GTID enabled slave, and it saturated the network interface of the master for more than one hour (this slave was lagging by ~4 days and had more than 250 GB of unprocessed relay logs).

      I could have been more careful only restarting the SQL_THREAD (not the IO_THREAD), but there are still situations where restarting the IO_THREAD cannot be avoided (restarting MariaDB as an example).

      If would be much better to avoid re-downloading binary log on starting the IO_THREAD as much of the relays logs are good on disk.

      Some more details in the following:
      http://jfg-mysql.blogspot.nl/2015/10/bad-commands-with-mariadb-gtids-2.html

      Thanks,

      JFG

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              jgagne Jean-François Gagné
              Votes:
              4 Vote for this issue
              Watchers:
              8 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.