DEV Community

Discussion on: Go sql.DB Periodic Error: invalid connection

Collapse
 
northbear profile image
northbear

It's a way to solve this problem. But you cannot be sure 5 minutes will be always enough to keep connections up. DBA may change connection timeouts in any time for bunch of well-reasonable reasons. You should know that connections to DB is pretty expensive resource in high-loaded Databases. And similar behavior of your application by default may be considered as destructive. So I suppose that such behavior should be agreed with DBA/Architecture guys and Ping intervals should be configurable.

To be honest I consider existence of db.Ping() as bad API solution. I cannot imagine situation when I'd need to make request to disconnected database without prior connection to get obvious fail. So I suppose it is excessive and should be moved inside of all request functions of db.

Collapse
 
aaronellington profile image
Aaron Ellington

Thanks for the insight, I'll definitely discuss this with our DB team to see if we can work out something better.