Issue Type: Bug Bug
Assignee: Jesse Glick
Components: core
Created: 17/Sep/12 7:21 PM
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).

Project: Jenkins
Labels: user scm performance
Priority: Major Major
Reporter: Jesse Glick
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to