Issue Type: Bug Bug
Affects Versions: current
Assignee: kutzi
Components: subversion
Created: 17/Jan/13 12:36 PM
Description:

At the end of a failing build, the hudson.tasks.MailSender.buildCulpritList determines who to email.
The problem comes when hudson.scm.SubversionMailAddressResolverImpl.findMailAddressFor determines the email address of the user by finding all builds a user has committed to. This is done by iterating over every single Jenkins project (hudson.model.User.getProjects() first finds all projects and then uses AbstractProject.hasParticipant - which reads the changelog to see if the user participated).

For a large system (we have tens of thousands of builds), this is not at all efficient.

Unfortunately findMailAddressFor takes a user and not a project (as the obvious implementation would be to work out the email address from the commit).

Also, the results aren't cached and so this is run for every user every time.

I'm not sure if this can be resolved with just a fix to the subversion-plugin

Environment: Jenkins 1.447 LTS
Subversion 1.35
Although both Jenkins and subversion plugin are not latest version, I have browsed github for latest versions and I believe this issue to still be present.
Project: Jenkins
Labels: performance
Priority: Minor Minor
Reporter: kutzi
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