Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
3.0.0
-
None
Description
see https://github.com/mariadb-corporation/mariadb-connector-nodejs/issues/195
The 3.0.0 release seems to have introduced a bug that wasn't there in 2.5.6.
Scenario
Using the promise API
- Create a connection pool
- Get a connection
- Perform some requests
- Release connection
- Shutdown the DB server
- Error ER_CONNECTION_KILLED is sometimes caught in the error event of the connection, sometimes not
- Error ER_SOCKET_UNEXPECTED_CLOSE is sometimes caught in the error event of the connection, sometimes not
- One more ER_SOCKET_UNEXPECTED_CLOSE is raised but I'm unable to catch it, thus my node process crashes. It doesn't get caught by the error event handler that I added to the connection.
In 3.0, when releasing connection to pool not with connection.release() but connection.close(), connection wasn't given back to pool, but killed.
When killing connection, server send a ER_CONNECTION_KILLED error that can sometime be caught by connector before socket is closed, but that's not assured, then having just an ER_SOCKET_UNEXPECTED_CLOSE error.