SidACL._hasPermission does too much object construction

This issue is archived. You can view it, but you can't modify it. Learn more

XMLWordPrintable

      "Handling GET /.../view/.../view/.../view/.../ : ...
         java.lang.Thread.State: RUNNABLE
      	at java.util.Arrays.copyOfRange(Arrays.java:3209)
      	at java.lang.String.<init>(String.java:215)
      	at java.lang.StringBuilder.toString(StringBuilder.java:430)
      	at java.lang.Object.toString(Object.java:219)
      	at org.acegisecurity.acls.sid.PrincipalSid.<init>(PrincipalSid.java:47)
      	at hudson.security.SidACL._hasPermission(SidACL.java:69)
      	at hudson.security.SidACL.hasPermission(SidACL.java:51)
      	at hudson.security.ACL.hasPermission(ACL.java:65)
      	at hudson.model.AbstractItem.hasPermission(AbstractItem.java:448)
      	at jenkins.model.Jenkins.getItems(Jenkins.java:1289)
      	at jenkins.model.Jenkins.getItems(Jenkins.java:301)
      	at hudson.model.ListView.getItems(ListView.java:164)
      	at hudson.model.ListView.getItems(ListView.java:56)
      	at hudson.plugins.nested_view.NestedView.getWorstResult(NestedView.java:178)
      

      _hasPermission constructs new PrincipalSid and GrantedAuthoritySid instances for each call, which is inefficient if it is being called repeatedly (as in this case). May be worth keeping a cache of these Sid instances keyed by Authentication.

            Assignee:
            Unassigned
            Reporter:
            Jesse Glick
            Archiver:
            Jenkins Service Account

              Created:
              Updated:
              Archived: