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

Events from a GTID-incapable master inherit domain ID of the slave

Details

    Description

      If I have replication, for example, from 5.5 master to 10.0 slave, then even if I set gtid_domain_id on the slave to a non-default value, events from master and slave still end up in the slave's binlog with the same (slave's) domain ID. I'm not sure whether it's designed to be this way, I'd rather expect master's events to have the default domain ID 0, so that I could still have a choice – either to keep the slave in the same domain or put it into a different one.

      But maybe there is a bigger plan behind it, then it should be somehow documented (if it isn't yet).

      Attachments

        Issue Links

          Activity

            The same issue happens when you are using multi source replication from servers that doesn't have domain id set (like MariaDB 5.5 or MySQL 5.5/5.6)

            The suggestion to solve this is to add a new option to CHANGE MASTER:

            DOMAIN_ID=#

            This domain id will be set for all events without a domain id coming from the given master.

            monty Michael Widenius added a comment - The same issue happens when you are using multi source replication from servers that doesn't have domain id set (like MariaDB 5.5 or MySQL 5.5/5.6) The suggestion to solve this is to add a new option to CHANGE MASTER: DOMAIN_ID=# This domain id will be set for all events without a domain id coming from the given master.

            I think the behaviour is "correct". There is nothing magic in principle about
            the domain id 0, rather, the default domain is the one set by
            --gtid-domain-id.

            However, it is definitely a valid feature request to be able to set the
            default domain per master connection on the slave. As Monty mentions, this is
            especially useful if one would have multi-source replication from
            non-GTID-aware masters. (And Elena's example where there is both replication
            and local changes is kind of multi-source replication also).

            knielsen Kristian Nielsen added a comment - I think the behaviour is "correct". There is nothing magic in principle about the domain id 0, rather, the default domain is the one set by --gtid-domain-id. However, it is definitely a valid feature request to be able to set the default domain per master connection on the slave. As Monty mentions, this is especially useful if one would have multi-source replication from non-GTID-aware masters. (And Elena's example where there is both replication and local changes is kind of multi-source replication also).

            I suppose it's of no importance anymore, MariaDB 5.x and MySQL 5.6 are long gone, and we can hardly expect to be able to replicate from other non-mariadb-gtid-capable servers anyway.

            elenst Elena Stepanova added a comment - I suppose it's of no importance anymore, MariaDB 5.x and MySQL 5.6 are long gone, and we can hardly expect to be able to replicate from other non-mariadb-gtid-capable servers anyway.

            People

              Unassigned Unassigned
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              2 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.