-
Thayumanavar S authored
Problem Description & Fix: When KILL CONNECTION is done on a client that has initiated a HANDLER READ operation, it results in an assert in debug builds. The assert happens when sending EOF back to client. During kill connection, we close the client write end socket descriptor on the server and this triggers a write error and sets the diagnostic area of the client connection handle with the ER_NET_ERROR_ON_WRITE. This failure is not handled in the HANDLER READ code paths. Hence we send EOF back to client but the Diagnostics Area is non empty thereby resulting in an assert in Debug Builds. In release builds, there shall be no asserts and the client won't see the error. The fix is to handle the return values of network write error in the HANDLER .. READ code paths.
Thayumanavar S authoredProblem Description & Fix: When KILL CONNECTION is done on a client that has initiated a HANDLER READ operation, it results in an assert in debug builds. The assert happens when sending EOF back to client. During kill connection, we close the client write end socket descriptor on the server and this triggers a write error and sets the diagnostic area of the client connection handle with the ER_NET_ERROR_ON_WRITE. This failure is not handled in the HANDLER READ code paths. Hence we send EOF back to client but the Diagnostics Area is non empty thereby resulting in an assert in Debug Builds. In release builds, there shall be no asserts and the client won't see the error. The fix is to handle the return values of network write error in the HANDLER .. READ code paths.
Loading