mysqljs/mysql

Connections in pool have an infinite lifetime

Open

#1,276 opened on Nov 12, 2015

View on GitHub
 (8 comments) (4 reactions) (0 assignees)JavaScript (2,502 forks)batch import
help wanted

Repository metrics

Stars
 (18,137 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

I have a process running all the time and when it idles for a while the connections in the pool are in a sleeping state. Eventually MySQL purges those connections based on the wait_timeout setting in my.cnf. Once this happens and I try to use a connection it will fail because the module assumes the connection is still live and tries to use it only to get a timeout or connection exception.

I would propose adding an option when creating a pool connection_lifetime which will work in a following way. When getting a connection from the pool, if the connection_lifetime is not exceeded we simply return the connection, if however it is exceeded we kill the selected free connection and create a new one in it's place. That should solve the issue.

Contributor guide