Uploaded image for project: 'MariaDB MaxScale'
  1. MariaDB MaxScale
  2. MXS-2651

Failover/switchover on empty MariaDB replication cluster fails

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Not a Bug
    • Affects Version/s: 2.3.9, 2.4.1
    • Fix Version/s: N/A
    • Component/s: failover
    • Labels:
      None

      Description

      I've observed, that MaxScale reports the following error when being used on a freshly installed and configured MariaDB replication cluster (MariaDB version 10.4.7 (bionic)):

      The backend cluser does not support failover/switchover due to the following reason(s): slave connection from B to A:3306 is not using gtid-replication

      .

      How to reproduce:

      1. Start at least 2 MariaDB instances
      2. Configure the slave to use the master as its master node (according to the docs)
      3. Join the slave to the master
      4. Configure the MaxScale monitor to observe those MariaDB instances
      5. Start MaxScale

      Results

      1. MaxScale reports the above mentioned error upon start-up
      2. MaxScale detects the configured and started MariaDB instances and reports the correct status ([Master, Running] for the master node and [Slave, Running] for all slave nodes
      3. Replication from master to slave works fine
      4. When the master node is stopped no failover occurs
      5. Even after some operations have been done on this cluster, MaxScale does not revert its status regarding the slave nodes.
      6. The slave nodes' capability will be correctly identified after a restart of MaxScale (after the replication feature has been used at least once)

      How to work around this issue?

      1. Create the MariaDB cluster
      2. Create a temporary table (or a database or whatever) on the master node (which will be replicated to the slave nodes)
      3. Delete that temporary object (or just leave it as is...)
      4. Start MaxScale

      Hopefully there is a way for MaxScale to correclty detect whether or not GTID replication was configured. Maybe the respective variables of the slave nodes could be read and evaluated (e.g. Using_Gtid. The variable Gtid_IO_Pos won't give the correct result, because it only contains a value after at least one transaction has been done.

        Attachments

          Activity

            People

            Assignee:
            Unassigned Unassigned
            Reporter:
            tocosonic Michael Hinkel
            Votes:
            0 Vote for this issue
            Watchers:
            2 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.