-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
U4-7558 Fix GetAll repository level caching for repositories that return a query result based on the result of GetAll #1002
Commits on Jan 6, 2016
-
Adds Isolated cache to the CacheHelper, adds cache option: GetAllCach…
…eAsCollection, changes the default repository cache to be an isolated cache (instead of part of the single main dictionary cache), adds the logic for the cache option GetAllCacheAsCollection to RepositoryBase, updates Language and Domain repositories to use GetAllCacheAsCollection, updates RepositoryFactory to be the one responsible for injecting a DeepCloneRuntimeCacheProvider and to use a single _noCache instance.
Configuration menu - View commit details
-
Copy full SHA for b04d0fc - Browse repository at this point
Copy the full SHA b04d0fcView commit details -
Moves DeepCloneRuntimeCacheProvider to Cache namespace. Creates DeepC…
…loneableList + tests. Updates RepositoryBase to use DeepCloneableList when GetAllCacheAsCollection is used (so that all entries that get cached are deep cloned into and out-of the cache). Adds test for DeepCloneRuntimeCacheProvider for dealing with this list type.
Configuration menu - View commit details
-
Copy full SHA for 4f40fff - Browse repository at this point
Copy the full SHA 4f40fffView commit details -
Updates all cache refreshers to reference the IsolatedRuntimeCache wh…
…ere required, refactors how IsolatedRuntimeCache is exposed on the CacheHelper, ensures that IsolatedRuntimeCache is used in all repositories instead of the global RuntimeCache, changes all obsolete usages of CacheHelper to the non obsolete equivalent, obsoletes many of the cache keys, obsoletes a couple cache refreshers that aren't used anymore in 7.3, simplifies CacheHelper with regards to it's 'disabled' cache state.
Configuration menu - View commit details
-
Copy full SHA for ff829d4 - Browse repository at this point
Copy the full SHA ff829d4View commit details -
Updates DictionaryRepository(s) to have custom GetAll caching options…
… - to basically disable it since there could be tons of these and currently an IDictionaryItem is a massive entity (need to fix that)
Configuration menu - View commit details
-
Copy full SHA for 827f7a7 - Browse repository at this point
Copy the full SHA 827f7a7View commit details -
fixes issue with RepositoryBase - it would cache all entities with a …
…single key even if there were ids specified which is wrong. Updates TemplateRepository to use a single GetAll query as its base source and it uses the GetAllCacheAsCollection option, also massively simplifies its GetDescendants methods, obsoletes some unused code,
4Configuration menu - View commit details
-
Copy full SHA for b91661c - Browse repository at this point
Copy the full SHA b91661cView commit details
Commits on Jan 7, 2016
-
Changes PublicAccessRepository to use GetAllCacheAsCollection option …
…and return a single result by ID based on the cache of GetAll
Configuration menu - View commit details
-
Copy full SHA for 6d13d33 - Browse repository at this point
Copy the full SHA 6d13d33View commit details -
ensures that the public access cache refresher is called when a publi…
…c access item is deleted.
Configuration menu - View commit details
-
Copy full SHA for 3e985ac - Browse repository at this point
Copy the full SHA 3e985acView commit details -
Configuration menu - View commit details
-
Copy full SHA for 68aa6ff - Browse repository at this point
Copy the full SHA 68aa6ffView commit details -
Configuration menu - View commit details
-
Copy full SHA for 63785ae - Browse repository at this point
Copy the full SHA 63785aeView commit details -
Refactors DictionaryItem and DictionaryTranslation so that the attach…
…ed ILanguage entity is not cached nor cloned. This will save on lots of memory and cloning cycles especially if there are quire a few dictioanry items. Unfortunatley to achieve this requires a not so pretty hack where we need to assign an internal callback to the model so it knows how to retrieve the language when it needs it. In v8, the ILanguage entity will not be attached at all. This also fixes a cache refresher issue for when a language is deleted -> all dictionary cache must be removed. This commit also changes a method name: ClearAllIsolatedCacheByRepositoryEntityType
Configuration menu - View commit details
-
Copy full SHA for d7a142e - Browse repository at this point
Copy the full SHA d7a142eView commit details -
Configuration menu - View commit details
-
Copy full SHA for fb5faa3 - Browse repository at this point
Copy the full SHA fb5faa3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2b13297 - Browse repository at this point
Copy the full SHA 2b13297View commit details -
Configuration menu - View commit details
-
Copy full SHA for ba91bf0 - Browse repository at this point
Copy the full SHA ba91bf0View commit details