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

            nirbhay_c Nirbhay Choubey (Inactive) created issue -
            nirbhay_c Nirbhay Choubey (Inactive) made changes -
            Field Original Value New Value
            nirbhay_c Nirbhay Choubey (Inactive) made changes -
            Assignee Nirbhay Choubey [ nirbhay_c ]
            nirbhay_c Nirbhay Choubey (Inactive) made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            nirbhay_c Nirbhay Choubey (Inactive) made changes -
            Description Provide a mechanism to filter replication events on the slave replication
            server based on domain_id.

            Someting like:
            --replicate-do-domain-id=N
            --replicate-ignore-domain-id=N
            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.
              * This list would take precedence over IGNORE_DOMAIN_IDS list.
              * 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.

            (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.


            Additional notes:
              * The list preservation rule is consistent with IGNORE_SERVER_IDS.

            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
            ignore_domain_ids=3 1 2 3
            do_domain_ids=1 99
            nirbhay_c Nirbhay Choubey (Inactive) made changes -
            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.
              * This list would take precedence over IGNORE_DOMAIN_IDS list.
              * 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.

            (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.


            Additional notes:
              * The list preservation rule is consistent with IGNORE_SERVER_IDS.

            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
            ignore_domain_ids=3 1 2 3
            do_domain_ids=1 99
            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.
              * This list would take precedence over IGNORE_DOMAIN_IDS list.
              * 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.

            (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.


            Additional notes:
              * The list preservation rule is consistent with IGNORE_SERVER_IDS.

            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
            ignore_domain_ids=3 1 2 3
            do_domain_ids=0
            nirbhay_c Nirbhay Choubey (Inactive) made changes -
            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.
              * This list would take precedence over IGNORE_DOMAIN_IDS list.
              * 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.

            (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.


            Additional notes:
              * The list preservation rule is consistent with IGNORE_SERVER_IDS.

            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
            ignore_domain_ids=3 1 2 3
            do_domain_ids=0
            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.
              * This list would take precedence over IGNORE_DOMAIN_IDS list.
              * 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.

            (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.


            Additional notes:
              * The list preservation rule is consistent with IGNORE_SERVER_IDS.

            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
            nirbhay_c Nirbhay Choubey (Inactive) made changes -
            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.
              * This list would take precedence over IGNORE_DOMAIN_IDS list.
              * 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.

            (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.


            Additional notes:
              * The list preservation rule is consistent with IGNORE_SERVER_IDS.

            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
            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.
              * This list would take precedence over IGNORE_DOMAIN_IDS list.
              * 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.

            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
            nirbhay_c Nirbhay Choubey (Inactive) made changes -
            Assignee Nirbhay Choubey [ nirbhay_c ] Kristian Nielsen [ knielsen ]
            Status In Progress [ 3 ] In Review [ 10002 ]
            knielsen Kristian Nielsen made changes -
            Assignee Kristian Nielsen [ knielsen ] Nirbhay Choubey [ nirbhay_c ]
            Status In Review [ 10002 ] Stalled [ 10000 ]
            nirbhay_c Nirbhay Choubey (Inactive) made changes -
            Status Stalled [ 10000 ] In Progress [ 3 ]
            nirbhay_c Nirbhay Choubey (Inactive) made changes -
            Assignee Nirbhay Choubey [ nirbhay_c ] Kristian Nielsen [ knielsen ]
            Status In Progress [ 3 ] In Review [ 10002 ]
            knielsen Kristian Nielsen made changes -
            Assignee Kristian Nielsen [ knielsen ] Nirbhay Choubey [ nirbhay_c ]
            serg Sergei Golubchik made changes -
            Fix Version/s 10.1 [ 16100 ]
            nirbhay_c Nirbhay Choubey (Inactive) made changes -
            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.
              * This list would take precedence over IGNORE_DOMAIN_IDS list.
              * 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.

            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
            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
            nirbhay_c Nirbhay Choubey (Inactive) made changes -
            Component/s Replication [ 10100 ]
            Fix Version/s 10.1.2 [ 15801 ]
            Fix Version/s 10.1 [ 16100 ]
            Resolution Fixed [ 1 ]
            Status In Review [ 10002 ] Closed [ 6 ]
            ratzpo Rasmus Johansson (Inactive) made changes -
            Workflow MariaDB v2 [ 52803 ] MariaDB v3 [ 64681 ]
            stephane@skysql.com VAROQUI Stephane made changes -
            serg Sergei Golubchik made changes -
            Workflow MariaDB v3 [ 64681 ] MariaDB v4 [ 132393 ]

            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.