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

System Table version of CHANGE MASTER

    XMLWordPrintable

Details

    • New Feature
    • Status: Open (View Workflow)
    • Minor
    • Resolution: Unresolved
    • None
    • Replication, Server
    • None

    Description

      CHANGE MASTER options have diversified enough that making them a System Table - or at least implemented with SQL table infrastructures - can unify ecosystems and improve flexibility, both user-side and in code.

      Here are some features that could be valuable for the CHANGE MASTER command, and SQL tables already have their infrastructures:

      • Null/default values MDEV-28302
      • Support for auto-conversion and SQL expressions as values
      • Distinct error for unrecognized options (compared to "SQL syntax error")
      • Batch configuration of multiple connections (tables use DML such as UPDATE)
        • The current finest precision is MDEV-28302's global defaults' batching of every connection with no per-connection override.
      • EXPLAIN integration for listing expected data types in detail (including precision and NULLability), no documentation required
      • Reading (tables use DQL, i.e., SELECT)
        • The current method, information_schem.slave_status
          • Has some columns using different names than their CHANGE MASTER counterparts
          • Shows the effective value (e.g., resolved MDEV-28302 DEFAULT) by design, but not whether an option was left unset.
          • Includes statistics in addition to CHANGE MASTER configurations

      A note on the storage engine choice:
      While Aria is the System Tables' go-to default, a pseudo-engine (as in a writable view) based on MDEV-36285 or MDEV-31342/MDEV-31535 may fit CHANGE MASTER better.

      • If the configurations are stored in Aria's datafiles rather than @@master_info_file & relay_log_info_file, then those files become a second-class feature kept only for upgrade/downgrade compatibility.
      • Having the data in storage engines' binary format also hinders access in code.
        (In practice, Replication itself should be a bigger user of this table than DBAs.)
      • It was already a long-time known limitation that @@master_/relay_log_info_file are not ACID-level crash safe. (MDEV-8946)
      • do_domain_id and ignore_domain_id are always mutually exclusive, and master_log_file/pos only apply when master_use_gtid=NO.

      Attachments

        Issue Links

          Activity

            People

              ParadoxV5 Jimmy Hú
              ParadoxV5 Jimmy Hú
              Votes:
              0 Vote for this issue
              Watchers:
              1 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.