Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
None
-
None
Description
from https://github.com/mariadb-corporation/mariadb-connector-nodejs/pull/358
A query issued while the connection is still sending a previous command, for example a large insert or a streamed parameter, could be lost. Instead of running once the previous command had been sent, it was silently removed from the connection's queue, and its promise or callback was never settled. The application then waited forever for that query.
The same happened on a socket failure: a query waiting behind another command was dropped without receiving the error, so the application was not told the connection was gone.
The connector now keeps such queries queued until they run, and reports the socket error to them like to any other pending query.