Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
6.4.13, 22.08.11, 23.02.8, 23.08.4
-
None
Description
When the client kills its own connection, the error is not forwarded to the client like one would expect. MaxScale does receive it and reads it correctly but there's code in readwritesplit that ignores the ER_CONNECTION_KILLED error if it's ever read. This is done because the query that was killed may be retried in handleError.
The behavior is partially correct (by accident) in versions prior to 23.08 where it the ER_CONNECTION_KILLED error number is used for all errors that are sent by the related code. In 23.08 the APIs changed so that only the error string is passed to the API. This can be "fixed" in 23.08 to be identical to the old behavior by passing the last MariaDB error message to the client protocol's kill() function.