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

More than one primary database in a monitor results in errors in MaxScale GUI

    XMLWordPrintable

Details

    • MXS-SPRINT-192

    Description

      Hi,

      setups where there are multiple primary databases in a single MaxScale monitor break some visual elements. Such a setup is, at least to my knowledge, inevitable when using the binlogrouter component.

      My setup looks like this:

      • maria-db-01: The primary database.
      • maria-db-02: Replica, replicates from replication-server.
      • maria-db-03: Replica, replicates from replication-server.
      • replication-server: MaxScale internal server; in front of MaxScale's binlogrouter, replicates from maria-db-01.

      A minimal setup with all configurations etc. is attached to this issue, see the readme within the archive.

      When I start this setup I experience the following aspects:

      • Replication works.
      • The same GTID is shown across all servers.
      • All MariaDB instances contain the same data.
      • The tooltip over replication-server shows all properties correctly (name, replication_state, seconds_behind_master, slave_io_running, slave_sql_running).
      • The tooltip over maria-db-01 shows replication-server to be healthy (green), but maria-db-02 and maria-db-03 are both orange and show "+Infinitys" replication lag.
      • The tooltip over maria-db-02 and maria-db-03 contains no properties at all (even though replication is healthy and running).
      • Visualizing this setup via "Visualization" -> "Clusters" -> "my-monitor" shows maria-db-01 and replication-server correctly, and the replicas maria-db-02 and maria-db-03 are put in a box titled "rejoinable nodes". Both replicas are not connected to the replication-server instance.

      This seems to be a collection of purely visual bugs due to the following aspects:

      • maxctrl show monitors returns correct data.
      • The data returned from the API endpoint at /servers returns correct data.
      • The function getSlaveServerInfo() in maxgui/src/pages/Dashboard/Servers.vue seems to filter out all slave server information where the slave's primary server is different form the monitor's primary server.
      • I have not further analyzed the visualization bug, as this is likely more complicated and also less important to me, but a similar filter seems likely.

      Note: This bug seems to be already documented in MXS-4254, although there was another configuration problem which resulted in the ticket's closing.

      Attachments

        1. Screenshot from 2023-10-16 16-31-07.png
          511 kB
          Sören Klein
        2. Screenshot from 2023-10-16 16-31-18.png
          466 kB
          Sören Klein
        3. Screenshot from 2023-10-16 16-31-29.png
          482 kB
          Sören Klein
        4. Screenshot from 2023-10-16 16-32-04.png
          611 kB
          Sören Klein

        Issue Links

          Activity

            People

              thien.ly Duong Thien Ly
              sklein_chargecloud Sören Klein
              Votes:
              0 Vote for this issue
              Watchers:
              3 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.