MXS-845: Ignore Maintenance state in state change logic
When a server goes into maintenance, the current state is set to Maintenance and the previous state is left unmodified. The function which checks for state changes uses the current and previous values and simply compares them. Since servers in maintenance mode aren't monitored, the function always returned true when servers were in maintenance mode. When the state change to or from maintenance is ignored, the state change function works. With this fix, users can safely put servers into maintenance without having to worry about the scripts being executed. This also allows the scripts themselves to put servers into maintenance.
This commit is contained in:
parent
146fb50cdb
commit
248a58629b
@ -823,7 +823,9 @@ mon_status_changed(MONITOR_SERVERS* mon_srv)
|
||||
{
|
||||
/* Previous status is -1 if not yet set */
|
||||
return (mon_srv->mon_prev_status != -1
|
||||
&& mon_srv->mon_prev_status != mon_srv->server->status);
|
||||
&& mon_srv->mon_prev_status != mon_srv->server->status
|
||||
/** If the server is going into maintenance or coming out of it, don't trigger a state change */
|
||||
&& ((mon_srv->mon_prev_status | mon_srv->server->status) & SERVER_MAINT) == 0);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user