Infinite loop in PrivilegeHelper.isWheelOrRoot() for wheel user

XMLWordPrintable

    • Type: Bug
    • Resolution: Fixed
    • Priority: Minor
    • 2.5.36
    • Affects Version/s: 2.5.33
    • Component/s: API, gsh
    • None

      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.

            Assignee:
            Chris Hyzer (upenn.edu)
            Reporter:
            Chad Redman (unc.edu) (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: