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

Forums userGroupMembershipCache stores whole group object instead of a reference

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Verified
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 12.6, 19.1
    • Fix Version/s: 19.2, 20.0 [Tentative]
    • Component/s: Forums Tool
    • Labels:
      None
    • 19 status:
      Verified
    • 12 status:
      Please Merge
    • Test Plan:
      Hide

      Forums regression test:

      1) Create at least two groups in site
      2) Add two students into two distinct groups
      3) Add Forums to site
      4) Create two forums and two topics that are both group-scoped (only one group can access)
      5) Access the forums and topics as the two students and confirm you still have access

      Show
      Forums regression test: 1) Create at least two groups in site 2) Add two students into two distinct groups 3) Add Forums to site 4) Create two forums and two topics that are both group-scoped (only one group can access) 5) Access the forums and topics as the two students and confirm you still have access

      Description

      Found via MAT heap dump analysis. This cache was 3.9GB of data in a Sakai site with many active users and many groups in sites.

      The cache is org.sakaiproject.component.app.messageforums.ui.UIPermissionsManagerImpl.userGroupMembershipCache

      Caching the BaseGroup will also cache all Roles associated with the Group and all permissions associated with each Role. So if each Group is 244kb, then 50 groups in one site would be 12MB. Then multiply that by number of users times number of sites per user.

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                agschmidt Andrea Schmidt
                Reporter:
                ottenhoff Sam Ottenhoff
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Git Source Code