Details
-
Task
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Won't Do
-
None
-
None
Description
(1) If MaxScale.cnf is different from in memory configuration and reload config is used, only update the service that are impacted by the change between in memory configuration and MaxScale.cnf and only stop and restart the impacted service
(2) If (1) is not possible, there should be a reload service <service-name> that only impacts that service
- Read MaxScale.cnf
- Apply Service section of the named service -apply config of server, listener, router and filter used by service
- stop client and server connections of the named service
- restart service i.e server, listener, protocol client, router, filter
In example below: reloading myService would, reload [Hint], [server1] and [server2], [myListener] and [myService]. If there were any active connection for myService - they will be dropped. After reloading - the service will start accepting new connections per new configuration
[myService]
|
type=service
|
router=readwritesplit
|
servers=server1,server2
|
user=maxuser
|
passwd=maxpwd
|
max_slave_connections=100%
|
filters=Hint
|
|
|
[Hint]
|
type=filter
|
module=hintfilter
|
|
|
[server1]
|
type=server
|
address=127.0.0.1
|
port=3000
|
protocol=MySQLBackend
|
|
|
[server2]
|
type=server
|
address=127.0.0.1
|
port=3001
|
protocol=MySQLBackend
|
|
|
[myListener]
|
type=listener
|
service=myService
|
protocol=MySQLClient
|
port=4009
|
|
|