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

multi_source replication conflict between different master connections on global variable relay_log_purge

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Duplicate
    • Affects Version/s: 10.0.1
    • Fix Version/s: None
    • Component/s: None
    • Labels:

      Description

      In change_master() (sql_repl.cc), there is this code:

        if (need_relay_log_purge)
        {
          relay_log_purge= 1;

      This code is incorrect. The variable relay_log_purge is global, but
      change_master() is per-master-connection.

      This means that if one CHANGE MASTER needs relay log purge, and another CHANGE
      MASTER does not, they will overwrite each other and relay logs will be handled
      incorrectly for at least one of them when the slave threads start.

      There seems to be no code to handle this correctly per-connection.

        Attachments

          Activity

            People

            Assignee:
            Unassigned Unassigned
            Reporter:
            knielsen Kristian Nielsen
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Git Integration

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