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

Show correct server state for multisource replication

Details

    • Bug
    • Status: Closed (View Workflow)
    • Minor
    • Resolution: Fixed
    • 2.1.10
    • 2.1.12
    • maxadmin
    • None
    • 2017-46

    Description

      We have setup where server A is a master of slave, server B. Server A has database X, which is replicating to slave B. We have configured Maxscale to monitor server A and server B, and as expected the list servers command shows:

      -------------------+-----------------+-------+-------------+--------------------
      Server | Address | Port | Connections | Status 
      -------------------+-----------------+-------+-------------+--------------------
      server_01 | xxx.xxx.xxx.67 | 3306 | 0 | Master, Running
      server_02 | xxx.xxx.xxx.68 | 3306 | 0 | Slave, Running
      -------------------+-----------------+-------+-------------+--------------------
      

      We also have a database Y in server C which is replicating to server A and server B.Therefore server C is a master of server A and server B, and server B now has multi-source replication setup. When we do this the list server command on Maxscale shows:

      -------------------+-----------------+-------+-------------+--------------------
      Server | Address | Port | Connections | Status 
      -------------------+-----------------+-------+-------------+--------------------
      server_01 | xxx.xxx.xxx.67 | 3306 | 0 | Master, Slave, Slave of External Server, Stale Status, Running
      server_02 | xxx.xxx.xxx.68 | 3306 | 0 | Slave, Slave of External Server, Running
      -------------------+-----------------+-------+-------------+--------------------
      

      However, when we restart Maxscale, the status changes to :

      -------------------+-----------------+-------+-------------+--------------------
      Server | Address | Port | Connections | Status 
      -------------------+-----------------+-------+-------------+--------------------
      server_01 | xxx.xxx.xxx.67 | 3306 | 0 | Slave, Slave of External Server, Running
      server_02 | xxx.xxx.xxx.68 | 3306 | 0 | Slave, Slave of External Server, Running
      -------------------+-----------------+-------+-------------+--------------------
      

      Also the maxscle log has the following entry:

      error : [mysqlmon] No Master can be determined
      

      Attachments

        Activity

          markus makela markus makela added a comment - - edited

          A rough diagram of the setup:

          +------------+
          |            |
          |  Seen by   |
          |  MaxScale  |
          |            |
          |    +---+   | +---+
          |    |   |   | |   |
          |    | A <-----+ C |
          |    |   |   | |   |
          |    +-+-+   | +-+-+
          |      |     |   |
          |      |     |   |
          |      |     |   |
          |    +-v-+   |   |
          |    |   |   |   |
          |    | B <-------+
          |    |   |   |
          |    +---+   |
          |            |
          +------------+
          

          Here we would want to label the server A as the master even if it's replicating from an external server that is not configured in MaxScale.

          markus makela markus makela added a comment - - edited A rough diagram of the setup: +------------+ | | | Seen by | | MaxScale | | | | +---+ | +---+ | | | | | | | | A <-----+ C | | | | | | | | +-+-+ | +-+-+ | | | | | | | | | | | | | +-v-+ | | | | | | | | | B <-------+ | | | | | +---+ | | | +------------+ Here we would want to label the server A as the master even if it's replicating from an external server that is not configured in MaxScale.
          markus makela markus makela added a comment -

          Implementation added, tests still needed.

          markus makela markus makela added a comment - Implementation added, tests still needed.

          People

            markus makela markus makela
            kjoiner Kyle Joiner (Inactive)
            Votes:
            1 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.