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

    Details

    • Type: Bug
    • Status: Closed
    • 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.

        Gliffy Diagrams

          Attachments

            Activity

            Hide
            elenst Elena Stepanova added a comment -

            See also MDEV-4117

            Show
            elenst Elena Stepanova added a comment - See also MDEV-4117
            Hide
            elenst Elena Stepanova added a comment -

            Shall we close it as a duplicate, or do you think there's something different comparing to MDEV-4117 that's worth keeping open?

            Show
            elenst Elena Stepanova added a comment - Shall we close it as a duplicate, or do you think there's something different comparing to MDEV-4117 that's worth keeping open?

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: