Uploaded image for project: 'Sakai'
  1. Sakai
  2. SAK-39150

SiteCacheImpl is incompatible with distributed/JSR-107 caching

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: CLOSED
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 2.9.x, 10.0
    • Fix Version/s: 10.0, 11.0
    • Component/s: Kernel
    • Labels:
    • 10 status:
      Resolved
    • Previous Issue Keys:
      KNL-1225

      Description

      As part of KNL-1162, 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.

      org.sakaiproject.site.impl.SiteCacheImpl
      kernel/kernel-impl/src/main/java/org/sakaiproject/site/impl/SiteCacheImpl.java

        Gliffy Diagrams

          Attachments

          1. KNL-1225.patch.txt
            19 kB
          2. KNL-1225.patch.txt
            19 kB
          3. KNL-1225.patch.txt
            19 kB

            Issue Links

              Activity

                People

                • Assignee:
                  aaronz Aaron Zeckoski (Inactive)
                  Reporter:
                  aaronz Aaron Zeckoski (Inactive)
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  2 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:

                    Git Source Code