Fix handling of multi-packet queries in readwritesplit

If a prepared statement sends large amounts of data, the target server
where the data is sent will be tracked. The tracked target was not reset
after a multi-packet query was completed and the target itself was used to
check whether the session was processing a multi-packet query.

Changed the check to use the boolean variable instead of the target and
added a reset of the tracked target after a multi-packet query was
completed.
This commit is contained in:
Markus Mäkelä
2017-09-21 20:40:51 +03:00
parent 845b59ad48
commit fbc1a7d44b
4 changed files with 23 additions and 3 deletions

View File

@ -108,6 +108,11 @@ uint32_t get_internal_ps_id(RWSplitSession* rses, GWBUF* buffer)
{
rval = it->second;
}
else
{
MXS_WARNING("Client requests unknown prepared statement ID '%u' that "
"does not map to an internal ID", id);
}
return rval;
}