remove the cache key with pdc bytes and check the expiry instead #1438
+399
−86
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.
What this PR does / why we need it:
In core datasources at least we have a memory leak where we are always creating a new datasource instance. Currently we are using the ProxyHash() which takes the last 4 characters from the pdc key and uses it as a hash.
However, this is not working because each time we do a request we fetch the config from Cloud config, and then if the config is not cached get the new config, from the hosted grafana instance. The hosted grafana instance always generates a new key / cert so the new config is always different so the cache key is never consistent.
I checked the caches on cloud config and they only cache for 5 seconds as a way to reducing the load on hosted grafana, not as a reliable cache. If we put this cache too high it will take at least the expiry time of the cache for new datasource configurations to trickle through without some other way to invalidate it.
We could also cache the keys / value in the hosted grafana instance but It seems like a less attractive option considering the whole MT migration.
Which issue(s) this PR fixes:
fixes
Fixes #
Special notes for your reviewer:
Here is my exculidraw if its useful:
