MXS-1661 Turn error into warning and suppress logging
The error regarding the refresh rate having been exceeded error: [RWSplit] Refresh rate limit exceeded ... has been turned into a warning. Further, the warning will be logged at most once per refresh period that currently is 30s.
This commit is contained in:
parent
816983691a
commit
b23ad6d2ef
@ -71,8 +71,9 @@ typedef struct
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
int nloads;
|
||||
time_t last;
|
||||
int nloads; /*<< How many times have they been loaded. */
|
||||
time_t last; /*<< When was the users loaded the last time. */
|
||||
bool warned; /**< Has it been warned that the limit has been exceeded. */
|
||||
} SERVICE_REFRESH_RATE;
|
||||
|
||||
typedef struct server_ref_t
|
||||
|
@ -341,6 +341,7 @@ serviceStartPort(SERVICE *service, SERV_LISTENER *port)
|
||||
*/
|
||||
service->rate_limit.last = time(NULL) - USERS_REFRESH_TIME;
|
||||
service->rate_limit.nloads = 1;
|
||||
service->rate_limit.warned = false;
|
||||
|
||||
if (port->listener->func.listen(port->listener, config_bind))
|
||||
{
|
||||
@ -1617,7 +1618,11 @@ int service_refresh_users(SERVICE *service)
|
||||
if ((now < service->rate_limit.last + USERS_REFRESH_TIME) ||
|
||||
(service->rate_limit.nloads > USERS_REFRESH_MAX_PER_TIME))
|
||||
{
|
||||
MXS_ERROR("[%s] Refresh rate limit exceeded for load of users' table.", service->name);
|
||||
if (!service->rate_limit.warned)
|
||||
{
|
||||
MXS_WARNING("[%s] Refresh rate limit exceeded for load of users' table.", service->name);
|
||||
service->rate_limit.warned = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1628,6 +1633,7 @@ int service_refresh_users(SERVICE *service)
|
||||
{
|
||||
service->rate_limit.nloads = 1;
|
||||
service->rate_limit.last = now;
|
||||
service->rate_limit.warned = false;
|
||||
}
|
||||
|
||||
ret = 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user