Commit b08579aa authored by Vladislav Vaintroub's avatar Vladislav Vaintroub

MDEV-16308 : protocol messed up sporadically

Context involves semicolon batching, and the error starts 10.2
No reproducible examples were made yet, but TCP trace suggests
multiple packets that are "squeezed" together (e.g overlong OK packet
that has a trailer which is belongs to another packet)

Remove thd->get_stmt_da()->set_skip_flush() when processing a batch.
skip_flush stems from the COM_MULTI code, which was checked in during
10.2 (and is never used)

The fix is confirmed to work, when evaluated by bug reporter (one of them)

We never reproduced it locally, with multiple tries
thus the root cause analysis is still missing.
parent 6fc72ce1
...@@ -1833,7 +1833,6 @@ bool dispatch_command(enum enum_server_command command, THD *thd, ...@@ -1833,7 +1833,6 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
while (!thd->killed && (parser_state.m_lip.found_semicolon != NULL) && while (!thd->killed && (parser_state.m_lip.found_semicolon != NULL) &&
! thd->is_error()) ! thd->is_error())
{ {
thd->get_stmt_da()->set_skip_flush();
/* /*
Multiple queries exist, execute them individually Multiple queries exist, execute them individually
*/ */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment