[cle-release-team] SiteCacheImpl binding directly to Ehcache

Aaron Zeckoski azeckoski at unicon.net
Wed Apr 9 07:23:49 PDT 2014


I am working on removing the direct bindings to Ehcache from the
various caches in Sakai core and moving the kernel (and the rest of
the core) towards JSR-107 compliance. As part of this effort I noticed
that some caches use Ehcache directly (like
org.sakaiproject.site.impl.SiteCacheImpl). For this case it looks like
it was mainly to get access to Ehcache notifications via
CacheEventListener. This appears to be because some of the cached data
is replicated into a series of maps (m_tools, m_pages, m_groups) which
then have to be manually cleared when the data is flushed.

That code originated in https://jira.sakaiproject.org/browse/KNL-652

This strategy of partly caching some data in the local object in maps
is incompatible with modern caching systems and distributed caching.
In order to move Sakai towards better support for scaling this
strategy has to change.

I created a ticket for this:
https://jira.sakaiproject.org/browse/KNL-1162

Before I remove the maps and Ehcache bindings (which will likely
change the behavior/performance profile of this cache) I wanted to see
if anyone had thoughts or comments about why this was done in the
first place (goals, specific perf issues, etc.)?
-AZ

-- 
Aaron Zeckoski - Software Architect - http://tinyurl.com/azprofile


More information about the cle-release-team mailing list