• Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • blamesubversion-plugin
    • None
    • Jenkins LTS 1.554.2. Latest version of email ext, latest version of blamesvn plugin

      See JENKINS-20078 issue for details.

      Blame svn plugin calls hudson.model.User.getProjects(User.java:479) for all User projects but should call only for upstream projects of a given job. This cause serious performance issue

      at java.lang.Character.toUpperCase(Unknown Source)
               at java.lang.Character.toUpperCase(Unknown Source)
               at java.lang.String$CaseInsensitiveComparator.compare(Unknown Source)
               at java.lang.String$CaseInsensitiveComparator.compare(Unknown Source)
               at java.lang.String.compareToIgnoreCase(Unknown Source)
               at hudson.model.User$1.compare(User.java:415)
               at hudson.model.User$1.compare(User.java:413)
               at java.util.TimSort.mergeHi(Unknown Source)
               at java.util.TimSort.mergeAt(Unknown Source)
               at java.util.TimSort.mergeForceCollapse(Unknown Source)
               at java.util.TimSort.sort(Unknown Source)
               at java.util.TimSort.sort(Unknown Source)
               at java.util.Arrays.sort(Unknown Source)
               at java.util.Collections.sort(Unknown Source)
               at hudson.model.User.getAll(User.java:413)
               at hudson.model.User$FullNameIdResolver.resolveCanonicalId(User.java:768)
               at hudson.model.User.get(User.java:327)
               at hudson.model.User.get(User.java:300)
               at hudson.model.User.get(User.java:369)
               at hudson.scm.SubversionChangeLogSet$LogEntry.setUser(SubversionChangeLogSet.java:267)
               at sun.reflect.GeneratedMethodAccessor56595.invoke(Unknown Source)
               at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
               at java.lang.reflect.Method.invoke(Unknown Source)
               at org.apache.commons.beanutils.PropertyUtilsBean.invokeMethod(PropertyUtilsBean.java:2170)
               at org.apache.commons.beanutils.PropertyUtilsBean.setSimpleProperty(PropertyUtilsBean.java:2151)
               at org.apache.commons.beanutils.PropertyUtilsBean.setNestedProperty(PropertyUtilsBean.java:1957)
               at org.apache.commons.beanutils.PropertyUtilsBean.setProperty(PropertyUtilsBean.java:2064)
               at org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:1017)
               at org.apache.commons.beanutils.BeanUtils.setProperty(BeanUtils.java:456)
               at org.apache.commons.digester.BeanPropertySetterRule.end(BeanPropertySetterRule.java:202)
               at org.apache.commons.digester.Digester.endElement(Digester.java:1345)
               at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source)
               at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
               at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
               at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
               at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
               at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
               at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
               at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
               at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
               at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
               at org.apache.commons.digester.Digester.parse(Digester.java:1871)
               at hudson.scm.SubversionChangeLogParser.parse(SubversionChangeLogParser.java:76)
               at hudson.scm.SubversionChangeLogParser.parse(SubversionChangeLogParser.java:43)
               at hudson.model.AbstractBuild.calcChangeSet(AbstractBuild.java:922)
               at hudson.model.AbstractBuild.getChangeSet(AbstractBuild.java:896)
               at hudson.model.AbstractBuild.hasParticipant(AbstractBuild.java:454)
               at hudson.model.AbstractProject.hasParticipant(AbstractProject.java:1644)
               at hudson.model.User.getProjects(User.java:479)
               at hudson.scm.BlameSubversionMailAddressResolverImpl.findMailAddressFor(BlameSubversionMailAddressResolverImpl.java:23)
               at hudson.tasks.MailAddressResolver.resolve(MailAddressResolver.java:112)
               at hudson.tasks.Mailer$UserProperty.getAddress(Mailer.java:547)
               at hudson.plugins.emailext.EmailRecipientUtils.getUserConfiguredEmail(EmailRecipientUtils.java:110)
               at hudson.plugins.emailext.plugins.recipients.CulpritsRecipientProvider.addRecipients(CulpritsRecipientProvider.java:41)
               at hudson.plugins.emailext.ExtendedEmailPublisher.createMail(ExtendedEmailPublisher.java:516)
               at hudson.plugins.emailext.ExtendedEmailPublisher.sendMail(ExtendedEmailPublisher.java:290)
               at hudson.plugins.emailext.ExtendedEmailPublisher._perform(ExtendedEmailPublisher.java:281)
               at hudson.plugins.emailext.ExtendedEmailPublisher.access$100(ExtendedEmailPublisher.java:79)
               at hudson.plugins.emailext.ExtendedEmailPublisher$1.endBuild(ExtendedEmailPublisher.java:689)
               at hudson.matrix.MatrixBuild$MatrixBuildExecution.post2(MatrixBuild.java:403)
               at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:725)
               at hudson.model.Run.execute(Run.java:1709)
               at hudson.matrix.MatrixBuild.run(MatrixBuild.java:304)
               at hudson.model.ResourceController.execute(ResourceController.java:88)
               at hudson.model.Executor.run(Executor.java:231)
               at hudson.model.OneOffExecutor.run(OneOffExecutor.java:43)
      

          [JENKINS-23427] Performance of Blame SVN plugin is very poor

          Ireneusz Makowski created issue -
          Alexandru Gheorghe made changes -
          Description Original: See this issue for details:

          https://issues.jenkins-ci.org/browse/JENKINS-20078

          Blame svn plugin calls hudson.model.User.getProjects(User.java:479) for all User projects but should call only for upstream projects of a given job. This cause serious performance issue


          at java.lang.Character.toUpperCase(Unknown Source)
                   at java.lang.Character.toUpperCase(Unknown Source)
                   at java.lang.String$CaseInsensitiveComparator.compare(Unknown Source)
                   at java.lang.String$CaseInsensitiveComparator.compare(Unknown Source)
                   at java.lang.String.compareToIgnoreCase(Unknown Source)
                   at hudson.model.User$1.compare(User.java:415)
                   at hudson.model.User$1.compare(User.java:413)
                   at java.util.TimSort.mergeHi(Unknown Source)
                   at java.util.TimSort.mergeAt(Unknown Source)
                   at java.util.TimSort.mergeForceCollapse(Unknown Source)
                   at java.util.TimSort.sort(Unknown Source)
                   at java.util.TimSort.sort(Unknown Source)
                   at java.util.Arrays.sort(Unknown Source)
                   at java.util.Collections.sort(Unknown Source)
                   at hudson.model.User.getAll(User.java:413)
                   at hudson.model.User$FullNameIdResolver.resolveCanonicalId(User.java:768)
                   at hudson.model.User.get(User.java:327)
                   at hudson.model.User.get(User.java:300)
                   at hudson.model.User.get(User.java:369)
                   at hudson.scm.SubversionChangeLogSet$LogEntry.setUser(SubversionChangeLogSet.java:267)
                   at sun.reflect.GeneratedMethodAccessor56595.invoke(Unknown Source)
                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                   at java.lang.reflect.Method.invoke(Unknown Source)
                   at org.apache.commons.beanutils.PropertyUtilsBean.invokeMethod(PropertyUtilsBean.java:2170)
                   at org.apache.commons.beanutils.PropertyUtilsBean.setSimpleProperty(PropertyUtilsBean.java:2151)
                   at org.apache.commons.beanutils.PropertyUtilsBean.setNestedProperty(PropertyUtilsBean.java:1957)
                   at org.apache.commons.beanutils.PropertyUtilsBean.setProperty(PropertyUtilsBean.java:2064)
                   at org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:1017)
                   at org.apache.commons.beanutils.BeanUtils.setProperty(BeanUtils.java:456)
                   at org.apache.commons.digester.BeanPropertySetterRule.end(BeanPropertySetterRule.java:202)
                   at org.apache.commons.digester.Digester.endElement(Digester.java:1345)
                   at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source)
                   at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
                   at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
                   at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
                   at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
                   at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
                   at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
                   at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
                   at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
                   at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
                   at org.apache.commons.digester.Digester.parse(Digester.java:1871)
                   at hudson.scm.SubversionChangeLogParser.parse(SubversionChangeLogParser.java:76)
                   at hudson.scm.SubversionChangeLogParser.parse(SubversionChangeLogParser.java:43)
                   at hudson.model.AbstractBuild.calcChangeSet(AbstractBuild.java:922)
                   at hudson.model.AbstractBuild.getChangeSet(AbstractBuild.java:896)
                   at hudson.model.AbstractBuild.hasParticipant(AbstractBuild.java:454)
                   at hudson.model.AbstractProject.hasParticipant(AbstractProject.java:1644)
                   at hudson.model.User.getProjects(User.java:479)
                   at hudson.scm.BlameSubversionMailAddressResolverImpl.findMailAddressFor(BlameSubversionMailAddressResolverImpl.java:23)
                   at hudson.tasks.MailAddressResolver.resolve(MailAddressResolver.java:112)
                   at hudson.tasks.Mailer$UserProperty.getAddress(Mailer.java:547)
                   at hudson.plugins.emailext.EmailRecipientUtils.getUserConfiguredEmail(EmailRecipientUtils.java:110)
                   at hudson.plugins.emailext.plugins.recipients.CulpritsRecipientProvider.addRecipients(CulpritsRecipientProvider.java:41)
                   at hudson.plugins.emailext.ExtendedEmailPublisher.createMail(ExtendedEmailPublisher.java:516)
                   at hudson.plugins.emailext.ExtendedEmailPublisher.sendMail(ExtendedEmailPublisher.java:290)
                   at hudson.plugins.emailext.ExtendedEmailPublisher._perform(ExtendedEmailPublisher.java:281)
                   at hudson.plugins.emailext.ExtendedEmailPublisher.access$100(ExtendedEmailPublisher.java:79)
                   at hudson.plugins.emailext.ExtendedEmailPublisher$1.endBuild(ExtendedEmailPublisher.java:689)
                   at hudson.matrix.MatrixBuild$MatrixBuildExecution.post2(MatrixBuild.java:403)
                   at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:725)
                   at hudson.model.Run.execute(Run.java:1709)
                   at hudson.matrix.MatrixBuild.run(MatrixBuild.java:304)
                   at hudson.model.ResourceController.execute(ResourceController.java:88)
                   at hudson.model.Executor.run(Executor.java:231)
                   at hudson.model.OneOffExecutor.run(OneOffExecutor.java:43)
          New: See JENKINS-20078 issue for details.

          Blame svn plugin calls hudson.model.User.getProjects(User.java:479) for all User projects but should call only for upstream projects of a given job. This cause serious performance issue

          {noformat}
          at java.lang.Character.toUpperCase(Unknown Source)
                   at java.lang.Character.toUpperCase(Unknown Source)
                   at java.lang.String$CaseInsensitiveComparator.compare(Unknown Source)
                   at java.lang.String$CaseInsensitiveComparator.compare(Unknown Source)
                   at java.lang.String.compareToIgnoreCase(Unknown Source)
                   at hudson.model.User$1.compare(User.java:415)
                   at hudson.model.User$1.compare(User.java:413)
                   at java.util.TimSort.mergeHi(Unknown Source)
                   at java.util.TimSort.mergeAt(Unknown Source)
                   at java.util.TimSort.mergeForceCollapse(Unknown Source)
                   at java.util.TimSort.sort(Unknown Source)
                   at java.util.TimSort.sort(Unknown Source)
                   at java.util.Arrays.sort(Unknown Source)
                   at java.util.Collections.sort(Unknown Source)
                   at hudson.model.User.getAll(User.java:413)
                   at hudson.model.User$FullNameIdResolver.resolveCanonicalId(User.java:768)
                   at hudson.model.User.get(User.java:327)
                   at hudson.model.User.get(User.java:300)
                   at hudson.model.User.get(User.java:369)
                   at hudson.scm.SubversionChangeLogSet$LogEntry.setUser(SubversionChangeLogSet.java:267)
                   at sun.reflect.GeneratedMethodAccessor56595.invoke(Unknown Source)
                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                   at java.lang.reflect.Method.invoke(Unknown Source)
                   at org.apache.commons.beanutils.PropertyUtilsBean.invokeMethod(PropertyUtilsBean.java:2170)
                   at org.apache.commons.beanutils.PropertyUtilsBean.setSimpleProperty(PropertyUtilsBean.java:2151)
                   at org.apache.commons.beanutils.PropertyUtilsBean.setNestedProperty(PropertyUtilsBean.java:1957)
                   at org.apache.commons.beanutils.PropertyUtilsBean.setProperty(PropertyUtilsBean.java:2064)
                   at org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:1017)
                   at org.apache.commons.beanutils.BeanUtils.setProperty(BeanUtils.java:456)
                   at org.apache.commons.digester.BeanPropertySetterRule.end(BeanPropertySetterRule.java:202)
                   at org.apache.commons.digester.Digester.endElement(Digester.java:1345)
                   at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source)
                   at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
                   at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
                   at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
                   at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
                   at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
                   at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
                   at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
                   at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
                   at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
                   at org.apache.commons.digester.Digester.parse(Digester.java:1871)
                   at hudson.scm.SubversionChangeLogParser.parse(SubversionChangeLogParser.java:76)
                   at hudson.scm.SubversionChangeLogParser.parse(SubversionChangeLogParser.java:43)
                   at hudson.model.AbstractBuild.calcChangeSet(AbstractBuild.java:922)
                   at hudson.model.AbstractBuild.getChangeSet(AbstractBuild.java:896)
                   at hudson.model.AbstractBuild.hasParticipant(AbstractBuild.java:454)
                   at hudson.model.AbstractProject.hasParticipant(AbstractProject.java:1644)
                   at hudson.model.User.getProjects(User.java:479)
                   at hudson.scm.BlameSubversionMailAddressResolverImpl.findMailAddressFor(BlameSubversionMailAddressResolverImpl.java:23)
                   at hudson.tasks.MailAddressResolver.resolve(MailAddressResolver.java:112)
                   at hudson.tasks.Mailer$UserProperty.getAddress(Mailer.java:547)
                   at hudson.plugins.emailext.EmailRecipientUtils.getUserConfiguredEmail(EmailRecipientUtils.java:110)
                   at hudson.plugins.emailext.plugins.recipients.CulpritsRecipientProvider.addRecipients(CulpritsRecipientProvider.java:41)
                   at hudson.plugins.emailext.ExtendedEmailPublisher.createMail(ExtendedEmailPublisher.java:516)
                   at hudson.plugins.emailext.ExtendedEmailPublisher.sendMail(ExtendedEmailPublisher.java:290)
                   at hudson.plugins.emailext.ExtendedEmailPublisher._perform(ExtendedEmailPublisher.java:281)
                   at hudson.plugins.emailext.ExtendedEmailPublisher.access$100(ExtendedEmailPublisher.java:79)
                   at hudson.plugins.emailext.ExtendedEmailPublisher$1.endBuild(ExtendedEmailPublisher.java:689)
                   at hudson.matrix.MatrixBuild$MatrixBuildExecution.post2(MatrixBuild.java:403)
                   at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:725)
                   at hudson.model.Run.execute(Run.java:1709)
                   at hudson.matrix.MatrixBuild.run(MatrixBuild.java:304)
                   at hudson.model.ResourceController.execute(ResourceController.java:88)
                   at hudson.model.Executor.run(Executor.java:231)
                   at hudson.model.OneOffExecutor.run(OneOffExecutor.java:43)
          {noformat}
          Priority Original: Blocker [ 1 ] New: Major [ 3 ]
          Summary Original: Performance of Blame svn plugin is very poor New: Performance of Blame SVN plugin is very poor
          R. Tyler Croy made changes -
          Workflow Original: JNJira [ 156051 ] New: JNJira + In-Review [ 179196 ]

            Unassigned Unassigned
            imakowski Ireneusz Makowski
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: