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

Infinite loop in PrivilegeHelper.isWheelOrRoot() for wheel user

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Minor
    • 2.5.36
    • 2.5.33
    • API, gsh
    • None

    Description

      def gs = GrouperSession.start(SubjectFinder.findByIdentifierAndSource("my-uid", "pid", true))
      Stem s = new StemSave(gs).assignName("unc:app:temp:base:hr:org").assignCreateParentStemsIfNotExist(true).save()
      

      It takes a few minutes to create this group from a remote vpn connection. With a debugger, it is doing an uncached group lookup on etc:sysadmingroup 1000's of times. And specifically for adding a stem, there are also many calls to retrieve an uncached etc:objectTypes:grouperObjectTypeMarker attributeDefName.

      Some preliminary tracing shows that PrivilegeHelper.isWheelOrRoot() is calling GroupFinder.findByName() for etc:sysadmingroup, which is itself calling PrivilegeHelper.isWheelOrRoot().

      We were previously on 2.4 patch 86 and didn't have this performance issue.

      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:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: