Oliver Bone
Oliver Bone
https://github.com/go-sql-driver/mysql/pull/1473 is an important bug fix for us that we'd be grateful to have in a v1.7.2 release.
`ER_CLIENT_INTERACTION_TIMEOUT` is the only disconnection error that can be avoided through well-configured timeouts. There are other error packets, such as `ER_DISCONNECTING_REMAINING_CLIENTS` that might be received regardless of any client-side setting....
> Do you mean you counted few thousand "unexpected read from socket" errors in log? Yes, exactly. > Do you mean many user don't see "unexpected read from socket" although...
> #1392, #1393, #1394 are special because shorter lifetime than wait_timeout is recommended to solution for most users. It is not good solution because GitHub is special. I think you've...
This can be caused by _any_ error packet from the server, not just `ER_CLIENT_INTERACTION_TIMEOUT`. We've also seen it happen with `ER_DISCONNECTING_REMAINING_CLIENTS`, albeit very rarely and only when the server is...
Which part is the server side bug?
The server _does_ use sequence number 0. The problem is when the client receives this after having incremented the sequence number.
> I call SetConnMaxLifetime and set it to 600s, and the wait_timeout of the mysql server is set to 900s. I have avoided the server closing the connection, but I...