diff --git a/server/core/server.cc b/server/core/server.cc index 6ab48c37e..a4e7a1ce7 100644 --- a/server/core/server.cc +++ b/server/core/server.cc @@ -323,11 +323,13 @@ DCB* Server::get_persistent_dcb(const string& user, const string& ip, const stri && server->persistent[id] // Check after cleaning && (server->status & SERVER_RUNNING)) { - mxb_assert(dcb->server); - dcb = server->persistent[id]; + while (dcb) { + mxb_assert(dcb->role == DCB::Role::BACKEND); + mxb_assert(dcb->server); + if (dcb->user && dcb->remote && !ip.empty()