Fix large packet execution
The number of expected responses was not correctly tracked for large packets.
This commit is contained in:
@ -987,7 +987,7 @@ bool RWSplitSession::handle_got_target(GWBUF* querybuf, SRWBackend& target, bool
|
|||||||
atomic_add_uint64(&m_router->stats().n_queries, 1);
|
atomic_add_uint64(&m_router->stats().n_queries, 1);
|
||||||
atomic_add_uint64(&target->server()->stats.packets, 1);
|
atomic_add_uint64(&target->server()->stats.packets, 1);
|
||||||
|
|
||||||
if (!large_query && response == mxs::Backend::EXPECT_RESPONSE)
|
if (!m_qc.large_query() && response == mxs::Backend::EXPECT_RESPONSE)
|
||||||
{
|
{
|
||||||
/** The server will reply to this command */
|
/** The server will reply to this command */
|
||||||
ss_dassert(target->get_reply_state() == REPLY_STATE_DONE);
|
ss_dassert(target->get_reply_state() == REPLY_STATE_DONE);
|
||||||
|
|||||||
@ -643,6 +643,7 @@ void RWSplitSession::handleError(GWBUF *errmsgbuf, DCB *problem_dcb,
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
// We were expecting a response but we aren't going to get one
|
// We were expecting a response but we aren't going to get one
|
||||||
|
ss_dassert(m_expected_responses > 0);
|
||||||
m_expected_responses--;
|
m_expected_responses--;
|
||||||
|
|
||||||
if (can_retry_query())
|
if (can_retry_query())
|
||||||
|
|||||||
Reference in New Issue
Block a user