From 625740e69d530d3586c1859d403232d0a7a3ac53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20M=C3=A4kel=C3=A4?= Date: Fri, 31 May 2019 07:58:57 +0300 Subject: [PATCH] MXS-2464: Fix crash on failed session command If the master fails when a session command is being executed with delayed_retry enabled, a null query would get placed into the query queue. This change simply prevents the crash and closes the session even though the query could be retried. --- server/modules/routing/readwritesplit/rwsplitsession.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/modules/routing/readwritesplit/rwsplitsession.cc b/server/modules/routing/readwritesplit/rwsplitsession.cc index 905952ca4..68cfc1df1 100644 --- a/server/modules/routing/readwritesplit/rwsplitsession.cc +++ b/server/modules/routing/readwritesplit/rwsplitsession.cc @@ -945,7 +945,7 @@ void RWSplitSession::handleError(GWBUF* errmsgbuf, m_expected_responses--; errmsg += " Lost connection to master server while waiting for a result."; - if (can_retry_query()) + if (m_current_query.get() && can_retry_query()) { can_continue = true; retry_query(m_current_query.release());