Details
-
Type:
Bug
-
Status: CLOSED
-
Priority:
Blocker
-
Resolution: Won't Fix
-
Affects Version/s: 2.9.x, 10.0
-
Fix Version/s: None
-
Component/s: Kernel
-
Labels:
-
10 status:Resolved
-
CLE Team Issue:Yes
-
Previous Issue Keys:KNL-1226
Description
See KNL-1162 for a definition of CacheRefresher
The only place where the CacheRefresher is called when an entry is missing on get() is in the CacheEntry class. This is used by the MultiRefCache (MRC) in GenericMultiRefCacheImpl but NOT by the MemCache impl.
Hilariously, the MRCs cannot even be created with a CacheRefresher specified (as shown by the API).
MultiRefCache newMultiRefCache(String cacheName);
GenericMultiRefCache newGenericMultiRefCache(String cacheName);
Therefore, this functionality does not work in any circumstance which is possible through the Kernel API (and nothing appears to use it directly in kernel except for tests).
This is implemented in at least these:
BaseAssignmentService.java
BaseCalendarService.java
BaseContentService.java
BaseNotificationService.java
BaseMessageService.java
And referenced (but not implemented) in these (mostly LB):
NotificationCache.java
Assignment2Export.java
MnemeEntity.java
AssignmentExport.java
ForumsExport.java
JForumExport.java
SamigoExport.java
AssignmentEntity.java
BltiEntity.java
ForumEntity.java
SamigoEntity.java
LessonsGradeInfoProvider.java
providers/jldap/src/test/edu/amc/sakai/user/TestMemoryService.java
sitestats/test/mocks/FakeMemoryService.java
I'm not sure how long this has been the case but it definitely affects 2.9 and trunk.
Gliffy Diagrams
Zeplin
Attachments
Issue Links
- is depended on by
-
SAK-38636 Rewrite MemoryService APIs to allow pluggable caching (JSR-107)
-
- CLOSED
-