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

Remove server as well from the maxadmin list servers

    XMLWordPrintable

Details

    • New Feature
    • Status: Closed (View Workflow)
    • Minor
    • Resolution: Done
    • None
    • N/A
    • N/A
    • None

    Description

      Folks,

      Testing the remove server command I'm seeing that, the removed server will only appear if you check the servers under the monitor from which you removed the server if you issue the command show monitors.

      The whole story is like this - the environment was created based on the https://jira.mariadb.org/browse/MXS-1526. This way, I have 1 master and 2 replicas. I removed one replica and relied on what I was seeing out of list servers:

      [root@maxscale maxscale.cnf.d]# maxadmin list monitors
      ---------------------+---------------------
      Monitor              | Status
      ---------------------+---------------------
      cluster-monitor      | Running
      ---------------------+---------------------
      [root@maxscale maxscale.cnf.d]# maxadmin list servers
      Servers.
      -------------------+-----------------+-------+-------------+--------------------
      Server             | Address         | Port  | Connections | Status
      -------------------+-----------------+-------+-------------+--------------------
      prod_mariadb01     | 192.168.50.11   |  3306 |           0 | Master, Running
      prod_mariadb02     | 192.168.50.12   |  3306 |           0 | Slave, Running
      prod_mariadb03     | 192.168.50.13   |  3306 |           0 | Slave, Running
      -------------------+-----------------+-------+-------------+--------------------
      [root@maxscale maxscale.cnf.d]# maxadmin remove server prod_mariadb03 cluster-monitor
      Removed server 'prod_mariadb03' from 'cluster-monitor'
      [root@maxscale maxscale.cnf.d]# ls -lh
      total 24K
      -rw-r--r-- 1 root root 236 Nov 16 17:05 cluster-monitor.cnf
      -rw-r--r-- 1 root root 114 Nov 16 12:48 prod_mariadb01.cnf
      -rw-r--r-- 1 root root 114 Nov 16 12:48 prod_mariadb02.cnf
      -rw-r--r-- 1 root root 114 Nov 16 12:48 prod_mariadb03.cnf
      -rw-r--r-- 1 root root 128 Nov 16 14:19 rwsplit-listener.cnf
      -rw-r--r-- 1 root root 100 Nov 16 16:02 rwsplit-service.cnf
      [root@maxscale maxscale.cnf.d]# cat prod_mariadb03.cnf
      [prod_mariadb03]
      type=server
      protocol=MySQLBackend
      address=192.168.50.13
      port=3306
      authenticator=MySQLBackendAuth
      [root@maxscale maxscale.cnf.d]# maxadmin list servers
      Servers.
      -------------------+-----------------+-------+-------------+--------------------
      Server             | Address         | Port  | Connections | Status
      -------------------+-----------------+-------+-------------+--------------------
      prod_mariadb01     | 192.168.50.11   |  3306 |           0 | Master, Running
      prod_mariadb02     | 192.168.50.12   |  3306 |           0 | Slave, Running
      prod_mariadb03     | 192.168.50.13   |  3306 |           0 | Slave, Running
      -------------------+-----------------+-------+-------------+--------------------
      

      As you can see, the server prod_mariadb02 is kept out of the list of servers and the configuration file as well is kept in place. This is great as it makes it easy to re-add the server you just removed in case you need.

      The request, maybe we can add a flag on the server's configuration file in order to make servers active=0|1 and then, removed servers update the server's file in order to remove that server from the list servers, what do you think?

      Kind of:

      [root@maxscale maxscale.cnf.d]# cat prod_mariadb03.cnf
      [prod_mariadb03]
      type=server
      protocol=MySQLBackend
      address=192.168.50.13
      port=3306
      authenticator=MySQLBackendAuth
      active=0
      

      Now and currently, removed servers is going to be noticed as removed just out of show monitors:

      [root@maxscale maxscale.cnf.d]# maxadmin show monitors
      Monitor:           0x22bd9c0
      Name:              cluster-monitor
      State:             Running
      Sampling interval: 10000 milliseconds
      Connect Timeout:   3 seconds
      Read Timeout:      1 seconds
      Write Timeout:     2 seconds
      Monitored servers: [192.168.50.11]:3306, [192.168.50.12]:3306
      MaxScale MonitorId:	0
      Replication lag:	disabled
      Detect Stale Master:	enabled
      Server information
       
      Server: prod_mariadb01
      Server ID: 1
      Read only: OFF
      Slave configured: NO
      Slave IO running: NO
      Slave SQL running: NO
      Master ID: -1
      Master binlog file:
      Master binlog position: 0
       
      Server: prod_mariadb02
      Server ID: 2
      Read only: OFF
      Slave configured: YES
      Slave IO running: YES
      Slave SQL running: YES
      Master ID: 1
      Master binlog file: box01-bin.000021
      Master binlog position: 2482235
       
      
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            wagnerbianchi Wagner Bianchi (Inactive)
            Votes:
            1 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.