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

Displaying /people can consume huge resources

    Details

    • Similar Issues:

      Description

      https://groups.google.com/d/msg/jenkinsci-dev/uAxP7zMc1bc/UGdgzJveqWoJ discusses a performance problem with the essential issue

      […I/O, XML…]
      at hudson.model.User.save(User.java:428)
      at hudson.model.User.addProperty(User.java:222)
      at hudson.plugins.git.GitChangeSet.getAuthor(GitChangeSet.java:251)
      at hudson.model.View$People.getUserInfo(View.java:625)
      at hudson.model.View$People.<init>(View.java:602)
      at jenkins.model.Jenkins.getPeople(Jenkins.java:907)
      […HTTP servicing…]
      

      This was suggested to be a problem in the Git plugin, but recently a similar problem has arisen servicing /view/Main/people/ (loading e.g. http://ci.jenkins-ci.org/people/ can be used as a live example):

      […XML, probably I/O…]
      at hudson.plugins.perforce.PerforceChangeLogSet.parse(PerforceChangeLogSet.java:113) 
      at hudson.plugins.perforce.PerforceChangeLogParser.parse(PerforceChangeLogParser.java:18) 
      at hudson.model.AbstractBuild.calcChangeSet(AbstractBuild.java:820) 
      at hudson.model.AbstractBuild.getChangeSet(AbstractBuild.java:794) 
      at hudson.model.View$People.getUserInfo(View.java:629) 
      at hudson.model.View$People.<init>(View.java:619) 
      at hudson.model.View.getPeople(View.java:594) 
      […Stapler/Jelly processing…]
      

      The common issue is that People.getUserInfo is traversing every build of every job in the system, which on its own can be a heavyweight operation in a large installation, and then triggering changelog.xml parses for each such job (the result is held weakly so will often be missing).

      While it can certainly be useful to display build-derived information about people in the system, this should be considered optional information, and must be provided asynchronously if at all so that page load does not block on it and it can be easily canceled (e.g. by moving to another page).

        Attachments

          Issue Links

            Activity

            Show
            jglick Jesse Glick added a comment - https://github.com/jenkinsci/jenkins/pull/570
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Jesse Glick
            Path:
            changelog.html
            http://jenkins-ci.org/commit/jenkins/a0d351685c50b97e658ded58c70da931ddf225d3
            Log:
            [FIXED JENKINS-15206] Displaying <code>/people</code> can consume huge resources.

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: changelog.html http://jenkins-ci.org/commit/jenkins/a0d351685c50b97e658ded58c70da931ddf225d3 Log: [FIXED JENKINS-15206] Displaying <code>/people</code> can consume huge resources.
            Hide
            dogfood dogfood added a comment -

            Integrated in jenkins_main_trunk #1943
            [FIXED JENKINS-15206] Displaying <code>/people</code> can consume huge resources. (Revision a0d351685c50b97e658ded58c70da931ddf225d3)

            Result = UNSTABLE
            Jesse Glick : a0d351685c50b97e658ded58c70da931ddf225d3
            Files :

            • changelog.html
            Show
            dogfood dogfood added a comment - Integrated in jenkins_main_trunk #1943 [FIXED JENKINS-15206] Displaying <code>/people</code> can consume huge resources. (Revision a0d351685c50b97e658ded58c70da931ddf225d3) Result = UNSTABLE Jesse Glick : a0d351685c50b97e658ded58c70da931ddf225d3 Files : changelog.html
            Hide
            newenigma newenigma added a comment -

            Just noticed that after this fix, when you are on the user profile page of a user, the link in the left navigation for People goes to /people, which now gives a 404.

            Show
            newenigma newenigma added a comment - Just noticed that after this fix, when you are on the user profile page of a user, the link in the left navigation for People goes to /people, which now gives a 404.
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Jesse Glick
            Path:
            changelog.html
            core/src/main/resources/hudson/model/User/sidepanel.jelly
            core/src/main/resources/hudson/model/View/People/index.jelly
            core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index.properties
            core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_da.properties
            core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_de.properties
            core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_es.properties
            core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_fr.properties
            core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_ja.properties
            core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_ko.properties
            core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_nb_NO.properties
            core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_pt_BR.properties
            core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_ru.properties
            core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_tr.properties
            war/src/main/webapp/help/security/private-realm.html
            war/src/main/webapp/help/security/private-realm_de.html
            war/src/main/webapp/help/security/private-realm_fr.html
            war/src/main/webapp/help/security/private-realm_ja.html
            war/src/main/webapp/help/security/private-realm_pt_BR.html
            war/src/main/webapp/help/security/private-realm_ru.html
            war/src/main/webapp/help/security/private-realm_tr.html
            war/src/main/webapp/help/security/private-realm_zh_CN.html
            http://jenkins-ci.org/commit/jenkins/06514d2517bb124cd3700d8063c755e60a7107fe
            Log:
            JENKINS-15206 Fixed up some remaining references to /people and introduced a redirect page.
            Thanks to newenigma for catching.

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: changelog.html core/src/main/resources/hudson/model/User/sidepanel.jelly core/src/main/resources/hudson/model/View/People/index.jelly core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index.properties core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_da.properties core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_de.properties core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_es.properties core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_fr.properties core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_ja.properties core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_ko.properties core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_nb_NO.properties core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_pt_BR.properties core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_ru.properties core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_tr.properties war/src/main/webapp/help/security/private-realm.html war/src/main/webapp/help/security/private-realm_de.html war/src/main/webapp/help/security/private-realm_fr.html war/src/main/webapp/help/security/private-realm_ja.html war/src/main/webapp/help/security/private-realm_pt_BR.html war/src/main/webapp/help/security/private-realm_ru.html war/src/main/webapp/help/security/private-realm_tr.html war/src/main/webapp/help/security/private-realm_zh_CN.html http://jenkins-ci.org/commit/jenkins/06514d2517bb124cd3700d8063c755e60a7107fe Log: JENKINS-15206 Fixed up some remaining references to /people and introduced a redirect page. Thanks to newenigma for catching.
            Hide
            dogfood dogfood added a comment -

            Integrated in jenkins_main_trunk #1982

            Result = SUCCESS

            Show
            dogfood dogfood added a comment - Integrated in jenkins_main_trunk #1982 Result = SUCCESS
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Jesse Glick
            Path:
            core/src/main/resources/hudson/model/User/sidepanel.jelly
            core/src/main/resources/hudson/model/View/People/index.jelly
            core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index.properties
            core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_da.properties
            core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_de.properties
            core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_es.properties
            core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_fr.properties
            core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_ja.properties
            core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_ko.properties
            core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_nb_NO.properties
            core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_pt_BR.properties
            core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_ru.properties
            core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_tr.properties
            war/src/main/webapp/help/security/private-realm.html
            war/src/main/webapp/help/security/private-realm_de.html
            war/src/main/webapp/help/security/private-realm_fr.html
            war/src/main/webapp/help/security/private-realm_ja.html
            war/src/main/webapp/help/security/private-realm_pt_BR.html
            war/src/main/webapp/help/security/private-realm_ru.html
            war/src/main/webapp/help/security/private-realm_tr.html
            war/src/main/webapp/help/security/private-realm_zh_CN.html
            http://jenkins-ci.org/commit/jenkins/ad0050b9294450dadca8ba13f47b34d25b477cd5
            Log:
            JENKINS-15206 Fixed up some remaining references to /people and introduced a redirect page.
            Thanks to newenigma for catching.(cherry picked from commit 06514d2517bb124cd3700d8063c755e60a7107fe)

            Conflicts:
            changelog.html

            Compare: https://github.com/jenkinsci/jenkins/compare/a7d530c57893...ad0050b92944

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: core/src/main/resources/hudson/model/User/sidepanel.jelly core/src/main/resources/hudson/model/View/People/index.jelly core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index.properties core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_da.properties core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_de.properties core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_es.properties core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_fr.properties core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_ja.properties core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_ko.properties core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_nb_NO.properties core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_pt_BR.properties core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_ru.properties core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index_tr.properties war/src/main/webapp/help/security/private-realm.html war/src/main/webapp/help/security/private-realm_de.html war/src/main/webapp/help/security/private-realm_fr.html war/src/main/webapp/help/security/private-realm_ja.html war/src/main/webapp/help/security/private-realm_pt_BR.html war/src/main/webapp/help/security/private-realm_ru.html war/src/main/webapp/help/security/private-realm_tr.html war/src/main/webapp/help/security/private-realm_zh_CN.html http://jenkins-ci.org/commit/jenkins/ad0050b9294450dadca8ba13f47b34d25b477cd5 Log: JENKINS-15206 Fixed up some remaining references to /people and introduced a redirect page. Thanks to newenigma for catching.(cherry picked from commit 06514d2517bb124cd3700d8063c755e60a7107fe) Conflicts: changelog.html Compare: https://github.com/jenkinsci/jenkins/compare/a7d530c57893...ad0050b92944

              People

              • Assignee:
                jglick Jesse Glick
                Reporter:
                jglick Jesse Glick
              • Votes:
                1 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: