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.
The interface method
GetDB
was returning a cached version of the db connection if the same datasource ID and connections args were passed. This is wrong because the db connection also depend on the datasource settings. This means that even after modifying the datasource settings, callingGetDB
would return a db connection with wrong parameters.To fix that, we would need to also take into consideration the datasource settings to store the db connection (or expose a different method that always creates a db connection) but truth is that we don't need to cache this connection at all. The
GetDB
method is only called in theConnect
method of the datasource and thisConnect
method is only called when there is an actual need of a new connection:Because of that, I am removing that connection from the cache. Also note that the underlying AWS session (which handle the underlying connections) is already caching sessions so even if we call
GetDB
several times with the same arguments (e.g. clicking "Save datasource" several times), only one connection will be set up.Fixes grafana/athena-datasource#105 (once released)