From b078eb2cca1dade03aa13d5b48051e29a91a03fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20M=C3=A4kel=C3=A4?= Date: Thu, 24 Jan 2019 16:30:43 +0200 Subject: [PATCH] Add server state to routing hint log message If a server was not chosen as the target of a routing hint, the server status would not be logged. By logging the server state in the message, it is easier to figure out why a server wasn't chosen as the routing target. --- .../readwritesplit/rwsplit_route_stmt.cc | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/server/modules/routing/readwritesplit/rwsplit_route_stmt.cc b/server/modules/routing/readwritesplit/rwsplit_route_stmt.cc index ed67a60d7..9b8a03bba 100644 --- a/server/modules/routing/readwritesplit/rwsplit_route_stmt.cc +++ b/server/modules/routing/readwritesplit/rwsplit_route_stmt.cc @@ -834,10 +834,21 @@ SRWBackend RWSplitSession::handle_hinted_target(GWBUF* querybuf, route_target_t { if (TARGET_IS_NAMED_SERVER(route_target)) { - MXS_INFO("Was supposed to route to named server " - "%s but couldn't find the server in a " - "suitable state.", - named_server); + char* status = nullptr; + + for (const auto& a : m_backends) + { + if (strcmp(a->server()->name, named_server) == 0) + { + status = server_status(a->server()); + break; + } + } + + MXS_INFO("Was supposed to route to named server %s but couldn't find the server in a " + "suitable state. Server state: %s", named_server, + status ? status : "Could not find server"); + MXS_FREE(status); } else if (TARGET_IS_RLAG_MAX(route_target)) {