[MXS-560] Server status unknown after reloading config Created: 2016-01-27  Updated: 2016-01-27  Resolved: 2016-01-27

Status: Closed
Project: MariaDB MaxScale
Component/s: maxadmin
Affects Version/s: 1.2.1
Fix Version/s: 1.4.0

Type: Bug Priority: Major
Reporter: Krzysztof Książek Assignee: Johan Wikman
Resolution: Not a Bug Votes: 0
Labels: None
Environment:

EC2, Ubuntu 14.04



 Description   

Assume MaxScale installation with 2 MySQL replication nodes. Third one is added to the configuration file. MaxScale is reloaded. As a result I'm seeing:

MaxScale> list servers
Servers.
--------------------------------------------------------------------
Server | Address | Port | Connections | Status
--------------------------------------------------------------------
svr_172304179 | 172.30.4.179 | 3306 | 0 | Running
svr_172304112 | 172.30.4.112 | 3306 | 0 | Slave, Running
svr_172304194 | 172.30.4.194 | 3306 | 0 | Master, Running
--------------------------------------------------------------------

I see no way to make .179 detectable as a slave to the master by MaxScale. Both init scripts and reload config trigger reload but server's status doesn't change:

root@ip-172-30-4-52:~# echo "reload config" |maxadmin -pmariadb ; date
MaxScale> Reloading configuration from file.
MaxScale> Wed Jan 27 13:25:39 UTC 2016

2016-01-27 13:25:39 Update server protocol for server 172.30.4.179 to protocol MySQLBackend.
2016-01-27 13:25:39 Update server protocol for server 172.30.4.194 to protocol MySQLBackend.
2016-01-27 13:25:39 Update server protocol for server 172.30.4.112 to protocol MySQLBackend.
2016-01-27 13:25:39 Update router for service RR to readconnroute.
2016-01-27 13:25:39 Update router for service RW to readwritesplit.

root@ip-172-30-4-52:~# echo "list servers" |maxadmin -pmariadb ; date
MaxScale> Servers.
--------------------------------------------------------------------
Server | Address | Port | Connections | Status
--------------------------------------------------------------------
svr_172304179 | 172.30.4.179 | 3306 | 0 | Running
svr_172304112 | 172.30.4.112 | 3306 | 0 | Slave, Running
svr_172304194 | 172.30.4.194 | 3306 | 0 | Master, Running
--------------------------------------------------------------------
MaxScale> Wed Jan 27 13:26:46 UTC 2016

MaxScale restart is required to properly detect the state of the node.

root@ip-172-30-4-52:~# service maxscale restart ; echo "list servers" |maxadmin -pmariadb ; date

  • Stopping MaxScale [ OK ]
  • Starting MaxScale * maxscale is running
    [ OK ]
    MaxScale> Servers.
    --------------------------------------------------------------------
    Server | Address | Port | Connections | Status
    --------------------------------------------------------------------
    svr_172304112 | 172.30.4.112 | 3306 | 0 | Slave, Running
    svr_172304194 | 172.30.4.194 | 3306 | 0 | Master, Running
    svr_172304179 | 172.30.4.179 | 3306 | 0 | Slave, Running
    --------------------------------------------------------------------
    MaxScale> Wed Jan 27 13:27:27 UTC 2016

If this behavior is expected, please treat this report as a feature request. There should be a way to dynamically add new nodes while keeping MaxScale running.



 Comments   
Comment by Johan Wikman [ 2016-01-27 ]

That's a correct observation. Currently it is not possible to add a server without restarting MaxScale.

In the 1.4 release of MaxScale it is planned to extend the ways in which it can be reconfigured without having to restart it.
Being able to add servers at runtime without restarting MaxScale is one of the enhancements that have been planned.

Comment by Johan Wikman [ 2016-01-27 ]

The behaviour is how MaxScale works currently.

The desired behaviour is planned for 1.4.

Generated at Thu Feb 08 04:00:14 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.