Uploaded image for project: 'Grouper'
  1. Grouper
  2. GRP-2952

Improve performance of object types on new stem/group create

    XMLWordPrintable

Details

    • Improvement
    • Resolution: Unresolved
    • Minor
    • None
    • 2.5.33
    • API
    • None

    Description

      When creating a new stem or group, the object type logic is a performance hit that is noticeable on slower networks. On object creation, the logic looks through the tree of parent stems to see if there are any object types to copy to the new object. However, it does this by looping through each of the object types, for each of the stems. Each time, it does a lookup on the object type attributeDefs, which is cached, but still called potentially hundreds of times. Even when it's cached, it still goes through privilege checking to make sure the user has access to it.

      This could be improved by:

      • scanning all the parent stems for any object type assignment, rather than looping through all the object types and seeing if any parent has it
      • doing all the object types in one pass, rather than looping each one and performing the same logic
      • caching the object def and names in local variables so it doesn't need to repeatedly look them up
      • using secure versions of lookups, since privileges should not be checked when copying an object type from a parent stem ( ? )

      Attachments

        Activity

          People

            chris.hyzer@at.internet2.edu Chris Hyzer (upenn.edu)
            chad.redman@at.internet2.edu Chad Redman (unc.edu)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: