Fix Nucache rebuilding more type caches than necessary #12785
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.
Prerequisites
If there's an existing issue for this PR then this fixes
Description
Fix Nucache rebuilding more type caches than necessary. The Rebuild method is intended per it's existing docs to not rebuild the cache when the typeids are null, however this behavior has been broken. This results in slow cache rebuilds when rebuilding a limited number of types. For example
Rebuild(new int[] {1234},null,null)
results in cache rebuilds for content with content type 1234 having it's nucache rebuilt, as well as all media and members in the cache, which occurs if modifying content type 1234 via the backoffice ui and can be incredibly slow.This pr fixes the issue by correcting the implementation of Rebuild, and adding a RebuildAll() to make it clearer to implementers how to rebuild all types vs a limited set of types.