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

SiteService.getSites() removes fully cached sites.

    Details

    • Type: Bug
    • Status: CLOSED
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 11.1
    • Fix Version/s: 11.3, 12.0
    • Component/s: Kernel
    • Labels:
      None
    • 11 status:
      Resolved
    • Previous Issue Keys:
      KNL-1456

      Description

      I was recently looking at a performance problem where it looked like some code was loading all of a user's sites from the DB. The code in question wasn't calling SiteService.getUserSites() but instead was calling SiteService.getSites() and asking for all sites a user has access to. This falls through to the DB which loads all the Site IDs but, then it checks to see if any of these site IDs are cached (lots normally are), but then attempts to load them all anyway. The really bad part of this is that when loading Sites it is just a partial site BaseSite.isFullyLoaded() returns false and these sites are all put into the cache, replacing sites that were already in the site and already fully loaded.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  buckett Matthew Buckett
                  Reporter:
                  buckett Matthew Buckett
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  3 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:

                    Git Source Code