fix: close mysql connection after create database #366
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
One problem we encountered when using Kine with the MySQL driver is that it uses an unexpected high amount of database connections, even after setting the flag
--datastore-max-open-connections
to a small number.We investigated and found out that during the
createDBIfNotExist
function two database connections are created as well that are never closed. For the PostgreSQL driver the connection is closed as expected:kine/pkg/drivers/pgsql/pgsql.go
Line 223 in 133503d
For the MySQL driver, these close after creation defers are missing and hence the connections stay open all the time. This PR adds two lines to close the database connections as expected after making sure the database exists in the MySQL server.
EDIT: Not sure why the drone ci build is failing, but it seems unrelated to this change