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

Implement Realm grants Caching

    Details

    • Type: Bug
    • Status: CLOSED
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 2.8.x
    • Fix Version/s: 2.9.x
    • Component/s: Kernel
    • Labels:
    • Previous Issue Keys:
      KNL-600

      Description

      mail to sakai-dev:

      This afternoon we suffred a period of high utalization on our database back end for a period. I'm still investigating to see what caused it but it seelms that at least part of this was a high number of long running query for realm grants:

      SELECT SAKAI_REALM_ROLE.ROLE_NAME, SAKAI_REALM_RL_GR.USER_ID, SAKAI_REALM_RL_GR.ACTIVE, SAKAI_REALM_RL_GR.PROVIDED FROM SAKAI_REALM_RL_GR INNER JOIN SAKAI_REALM ON SAKAI_REALM.REALM_KEY = SAKAI_REALM_RL_GR.REALM_KEY AND SAKAI_REALM.REALM_ID = '/site/96dbcba6-01c2-4059-007a-40e484873bb9' INNER JOIN SAKAI_REALM_ROLE ON SAKAI_REALM_ROLE.ROLE_KEY = SAKAI_REALM_RL_GR.ROLE_KEY;

      adding a quick cache and visiting roster and site info in a site resulted in 1 miss and 8 hits on this cache. Now while it is easy to add a cache at this point the AuthzGroup code seems to assume that this information is not cached, and making sure we invalidate the cache in a cluster safe way is slightly more complex....

        Gliffy Diagrams

          Zeplin

            Attachments

            1. KNL-600.diff
              7 kB
            2. KNL-600.patch
              13 kB
            3. KNL-600.patch.txt
              15 kB
            4. reverse-KNL-600.patch.txt
              7 kB

              Issue Links

                Activity

                  People

                  Assignee:
                  aaronz Aaron Zeckoski (Inactive)
                  Reporter:
                  dhorwitz David Horwitz
                  Votes:
                  0 Vote for this issue
                  Watchers:
                  6 Start watching this issue

                    Dates

                    Created:
                    Updated:
                    Resolved:

                      Git Integration