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

domain_id based replication filters

Details

    Description

      Provide a mechanism to filter replication events on the slave replication
      server based on domain_id.

      New master definitions:

      (1) DO_DOMAIN_IDS = (N[,N])

      • Accepts a comma-separated list of domain_ids, the replication events of
        which will be kept.
      • If a CHANGE MASTER command is executed without DO_DOMAIN_IDS, the
        existing list of domain ids (if any) would be preserved.
      • DO_DOMAIN_IDS=() can be used to clear the list.
      • The list should show in SHOW MASTER STATUS output and master_info file.
      • On restart, the list should automatically get populated from master_info.

      (2) IGNORE_DOMAIN_IDS = (N[,N])

      • Accepts a comma-separated list of domain_ids, the replication events of
        which will be filtered out.
      • If a CHANGE MASTER command is executed without IGNORE_DOMAIN_IDS, the
        existing list of domain ids (if any) would be preserved.
      • IGNORE_DOMAIN_IDS=() can be used to clear the list.
      • The list should show in SHOW MASTER STATUS output and master_info file.
      • On restart, the list should automatically get populated from master_info.

      Additional notes:

      • The list preservation rule is consistent with IGNORE_SERVER_IDS.
      • Both the lists (DO_ & IGNORE_) cannot be non-empty at the same time.
      • CHANGE MASTER TO command would fail with ER_MASTER_INFO if it tries
        to set both the lists.

      Examples:

      CHANGE MASTER TO .. IGNORE_DOMAIN_IDS= (1,2,3) .. ;
      CHANGE MASTER TO .. DO_DOMAIN_IDS= (99) .. ;
      CHANGE MASTER TO .. DO_DOMAIN_IDS= () .. ;

      $ tail -2 master.info
      do_domain_ids=0
      ignore_domain_ids=3 1 2 3

      Attachments

        Issue Links

          Activity

            It might be better to do it like ignored server ids. Eg.

            CHANGE MASTER TO IGNORE_DOMAIN_IDS= (1,2)
            CHANGE MASTER TO ONLY_DOMAIN_IDS= (0)

            This way, it is possible to configure it per master connection, which would seem to be useful.

            knielsen Kristian Nielsen added a comment - It might be better to do it like ignored server ids. Eg. CHANGE MASTER TO IGNORE_DOMAIN_IDS= (1,2) CHANGE MASTER TO ONLY_DOMAIN_IDS= (0) This way, it is possible to configure it per master connection, which would seem to be useful.

            Hi Kristian,
            Thanks for the suggestion. I have updated the description accordingly.

            nirbhay_c Nirbhay Choubey (Inactive) added a comment - Hi Kristian, Thanks for the suggestion. I have updated the description accordingly.
            nirbhay_c Nirbhay Choubey (Inactive) added a comment - http://lists.askmonty.org/pipermail/commits/2014-September/006553.html
            knielsen Kristian Nielsen added a comment - https://lists.launchpad.net/maria-developers/msg07703.html https://lists.launchpad.net/maria-developers/msg07704.html
            nirbhay_c Nirbhay Choubey (Inactive) added a comment - http://lists.askmonty.org/pipermail/commits/2014-November/006904.html
            knielsen Kristian Nielsen added a comment - - edited
            knielsen Kristian Nielsen added a comment - - edited Review sent on maria-developers@: https://lists.launchpad.net/maria-developers/msg07895.html
            nirbhay_c Nirbhay Choubey (Inactive) added a comment - http://lists.askmonty.org/pipermail/commits/2014-November/007040.html
            nirbhay_c Nirbhay Choubey (Inactive) added a comment - https://github.com/MariaDB/server/commit/a50ddebb5cfa7b79540d155e8e41c7a07c4c3fbf

            People

              nirbhay_c Nirbhay Choubey (Inactive)
              nirbhay_c Nirbhay Choubey (Inactive)
              Votes:
              1 Vote for this issue
              Watchers:
              5 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.