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

Enhance replication for catalogs

    XMLWordPrintable

Details

    Description

      When using catalogs, only the 'def' users can start/stop/setup replication.

      We should support the following replication setups:

      • Replication from non-catalog server to one catalog in a catalog-server.
      • Replication from one catalog server to another (assuming both servers have the same catalogs).
      • Replication from a catalog to a non-catalog server.

      To be able to do the above should add the following options to CHANGE MASTER:

      • SLAVE_CATALOG=catalog_name
        Used when replicate from a non-catalog server to specific catalog in a catalog server.
        When writing the binary log on the slave, we should replace the catalog name
        with 'catalog_name'.
      • MASTER_CATALOG=catalog_name
        Used when replication from a catalog to a non-catalog server.
        When writing the binary log on the slave, we should replace the catalog name with 'def'.
        We also have to filter all binlog entries so that we only send entries related to a the
        MASTER_CATALOG to the slave.
      • We should also support PRIMARY_CATALOG and REPLICA_CATALOG as synonyms for the
        above.

      We also needed to add tests for all of the above setup, in addition to other tests to verify that replication works with catalogs.

      We should first code support for replication from non-catalog server -> catalog server and catalog-server -> catalog_server. Only later add support for catalog->server -> non-catalog server as this is likely to be much less used.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              monty Michael Widenius
              Votes:
              0 Vote for this issue
              Watchers:
              5 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.