[release/8.0] Associate tagged keys with entries so replacements are not evicted #62247
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.
Backport of #61529 to release/8.0
/cc @sebastienros @profet23
Associate tagged keys with entries so replacements are not evicted
Prevent output caching tags from being lost when updating an existing entry.
Description
If an output cache entry is created with tags and is then replaced, the callback will remove tags which is wrong and would lead to related entries to not be evicted automatically.
Fixes #61524
Customer Impact
Could lead to stale data in cache.
Regression?
Risk
Change is limited to how the entries are tracked, such that less tags are removed. This means more things can be evicted from cache eventually, which is safer (more evicted cache entries is not worse).
Verification
Packaging changes reviewed?
When servicing release/2.1