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

GTID positioning: Newest position for some of the domain ids

    XMLWordPrintable

Details

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

    Description

      Hi,

      When using GTID replication from a Galera cluster it is useful have a positioning feature that for a certain domain ID always the newest GTID known by the server is used.

      In the Galera + GTID documentation it is recommended to have a unique gtid_domain_id on each cluster member, and another domain (the same for the cluster) configured as wsrep_gtid_domain_id. This is because some transactions can cause a local GTID that is not replicated to the rest of the cluster. For example a rolling schema upgrade.

      So, we can have a situation with 2 cluster members. Each cluster member have domain A and B, and the cluster has domain G. All relevant changes occur on domain G. "Local" changes on domains A and B are very, very rare.

      The replica connects to one of the cluster members through a load balancer. It receives schema changes through the replication stream on domain A. It receives all the cluster traffic on domain G. Then, it fails over to another cluster member. It signs on with the request to include domains A and B at their current (newest) position, and domain G at a specific position.

      This way, it will not get the schema changes twice (on domain A and B), setting up replication will work. There is a tiny risk of a schema change not picked up but this outweighs not being able to replicate anymore because (when first replicating from the node serving domain A) the position of domain B is missing in the replica's negotiation to node B.

      Thank you for taking this into consideration,
      Michael

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              michaeldg Michaël de groot
              Votes:
              0 Vote for this issue
              Watchers:
              4 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.