diff --git a/server/core/service.c b/server/core/service.c index d44805132..da1053402 100644 --- a/server/core/service.c +++ b/server/core/service.c @@ -1606,6 +1606,7 @@ service_update(SERVICE *service, char *router, char *user, char *auth) */ int service_refresh_users(SERVICE *service) { + ss_dassert(service); int ret = 1; if (spinlock_acquire_nowait(&service->spin)) diff --git a/server/modules/protocol/MySQL/MySQLBackend/mysql_backend.c b/server/modules/protocol/MySQL/MySQLBackend/mysql_backend.c index e03761cf7..9d70cc3e3 100644 --- a/server/modules/protocol/MySQL/MySQLBackend/mysql_backend.c +++ b/server/modules/protocol/MySQL/MySQLBackend/mysql_backend.c @@ -358,8 +358,11 @@ static void handle_error_response(DCB *dcb, GWBUF *buffer) errcode == ER_DBACCESS_DENIED_ERROR || errcode == ER_ACCESS_DENIED_NO_PASSWORD_ERROR) { - // Authentication failed, reload users - service_refresh_users(dcb->service); + if (dcb->session->state != SESSION_STATE_DUMMY) + { + // Authentication failed, reload users + service_refresh_users(dcb->service); + } } }