Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-35515

Role Strategy 2.3 cause poor UI performance due to authorities checks (regression in 2.3.0)

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • role-strategy-plugin
    • Centos 7.2, OpenJDK 1.8.0.91, Jenkins 2.8, Active Directory plugin 1.47, Role Strategy 2.3

      Hello, we recently updated the Role Strategy plugin to 2.3 and after the restart Jenkins UI performance became extremely slow. We isolated the issue to using Active Directory groups in our roles, when we switched to explicitly using users the issue went away.

      When we downgraded the version of Role Strategy to 2.2 the issue also went way.

          [JENKINS-35515] Role Strategy 2.3 cause poor UI performance due to authorities checks (regression in 2.3.0)

          Reilly Brogan created issue -

          Kurt added a comment -

          We're seeing same poor performance here. Effectively we, too, had to downgrade to 2.2 version as 2.3 was unusably slow (it got completely stuck - no more response from Web UI within 15 minutes).

          Environment: Oracle JDK8 (_66) 64bit, Jenkins 2.8, AD Plugin 1.47 (no Domain name or other advanced settings entered, I guess that means we're using ADSI), Windows Server 2008R2 64 bit (Domain Member), Hardware is a VM with 24 GB RAM (of which 9 GB are dedicated to Java mem pool), 6 CPU cores and using an SSD storage cluster.

          Most significant difference to initial report: We're NOT using AD groups at all. Roles are assigned only to users.

          We currently have 37 roles (31 regex-based project roles, 6 global roles) which are assigned to roughly 100 users.
          The Jenkins instance contains ~50000 jobs (organized in folders).

          Kurt added a comment - We're seeing same poor performance here. Effectively we, too, had to downgrade to 2.2 version as 2.3 was unusably slow (it got completely stuck - no more response from Web UI within 15 minutes). Environment: Oracle JDK8 (_66) 64bit, Jenkins 2.8, AD Plugin 1.47 (no Domain name or other advanced settings entered, I guess that means we're using ADSI), Windows Server 2008R2 64 bit (Domain Member), Hardware is a VM with 24 GB RAM (of which 9 GB are dedicated to Java mem pool), 6 CPU cores and using an SSD storage cluster. Most significant difference to initial report: We're NOT using AD groups at all. Roles are assigned only to users. We currently have 37 roles (31 regex-based project roles, 6 global roles) which are assigned to roughly 100 users. The Jenkins instance contains ~50000 jobs (organized in folders).

          I'm seeing a similar issues, but on top of that I cannot login again after logging out, due to

          java.lang.IllegalArgumentException: Cannot pass null or empty values to constructor
          at org.acegisecurity.userdetails.User.<init>(User.java:127)
          at hudson.plugins.script_realm.ScriptSecurityRealm.loadUserByUsername(ScriptSecurityRealm.java:105)
          at com.michelin.cio.hudson.plugins.rolestrategy.RoleMap.hasPermission(RoleMap.java:110)
          at com.michelin.cio.hudson.plugins.rolestrategy.RoleMap.access$000(RoleMap.java:64)
          at com.michelin.cio.hudson.plugins.rolestrategy.RoleMap$AclImpl.hasPermission(RoleMap.java:341)

          Are you also getting this exception?

          Sebastian Schuberth added a comment - I'm seeing a similar issues, but on top of that I cannot login again after logging out, due to java.lang.IllegalArgumentException: Cannot pass null or empty values to constructor at org.acegisecurity.userdetails.User.<init>(User.java:127) at hudson.plugins.script_realm.ScriptSecurityRealm.loadUserByUsername(ScriptSecurityRealm.java:105) at com.michelin.cio.hudson.plugins.rolestrategy.RoleMap.hasPermission(RoleMap.java:110) at com.michelin.cio.hudson.plugins.rolestrategy.RoleMap.access$000(RoleMap.java:64) at com.michelin.cio.hudson.plugins.rolestrategy.RoleMap$AclImpl.hasPermission(RoleMap.java:341) Are you also getting this exception?
          Oleg Nenashev made changes -
          Assignee Original: FĂ©lix Belzunce Arcos [ fbelzunc ] New: Oleg Nenashev [ oleg_nenashev ]
          Oleg Nenashev made changes -
          Status Original: Open [ 1 ] New: In Progress [ 3 ]
          Oleg Nenashev made changes -
          Link New: This issue is duplicated by JENKINS-35573 [ JENKINS-35573 ]

          Oleg Nenashev added a comment -

          sschuberth Error 502 is being tracked as JENKINS-35456.
          Fixing the performance stuff here

          Oleg Nenashev added a comment - sschuberth Error 502 is being tracked as JENKINS-35456 . Fixing the performance stuff here

          Oleg Nenashev added a comment -

          Oleg Nenashev added a comment - I've created a pull request: https://github.com/jenkinsci/role-strategy-plugin/pull/18 You can try the build from CI: https://jenkins.ci.cloudbees.com/job/plugins/job/role-strategy-plugin/60/org.jenkins-ci.plugins$role-strategy/
          Oleg Nenashev made changes -
          Component/s Original: active-directory-plugin [ 15526 ]

          oleg_nenashev Thanks, but note that I'm not seeing a proxy error 502, just the exception / stack trace I've posted on every page.

          Sebastian Schuberth added a comment - oleg_nenashev Thanks, but note that I'm not seeing a proxy error 502, just the exception / stack trace I've posted on every page.

            oleg_nenashev Oleg Nenashev
            reillyprocentive Reilly Brogan
            Votes:
            1 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: