Don't drop connections if DB hasn't changed #175
Merged
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.
Current behavior
If the config for the pools changes in any way, we drop all existing server connections and re-create new ones. That's not very efficient at scale.
New behavior
If the config for a pool did not change, the server connections are preserved. New connections are created only if the database config changed in any way. This includes changes to any of the configured users. A better optimization would be to only re-create the connections for the changed user. This should be done as a follow up, since this change was pretty easy to make and the better fix is a slightly more involved.