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

New Maven Plugin causes slowdown for huge multimodule projects

    • Icon: Bug Bug
    • Resolution: Not A Defect
    • Icon: Major Major
    • maven-plugin
    • None

      This is due to the fact, that now all build listeners are called after every module as well. This might also break plugins.

      Also, this leads to confusing behaviour when using incremental builds.

      In our case, we have a huge project (~100 modules). An incremental build, which should only build about 5 modules waits for about 2 minutes (while moving through the listeners for all NOT_BUILT modules), before actually starting to work.

      This was introduced by the fix for JENKINS-18846.

          [JENKINS-21597] New Maven Plugin causes slowdown for huge multimodule projects

          Jesse Glick added a comment -

          I guess you mean due to https://github.com/jenkinsci/jenkins/commit/a92e9da978262c6a7e4d74d3b2750319cbc748fb#diff-ead68b986d300f65900815117a8aa40aR502 but this behavior is correct I think. And which RunListener implementation(s) are actually being slow in this context, or causing “confusing behavior”? Possibly really a bug in another plugin.

          Jesse Glick added a comment - I guess you mean due to https://github.com/jenkinsci/jenkins/commit/a92e9da978262c6a7e4d74d3b2750319cbc748fb#diff-ead68b986d300f65900815117a8aa40aR502 but this behavior is correct I think. And which RunListener implementation(s) are actually being slow in this context, or causing “confusing behavior”? Possibly really a bug in another plugin.

          The actual slowdown was due to a bug in a plugin of mine. Still, some plugins like gerrit-trigger or build-failure-analyzer now behave differently. For example, bfa prints whole screens full of messages for each module.

          Basically, all plugins using RunListener can be effected.

          Problem is, they not simply exclude MavenBuild s from being handled, because that would introduce unwanted dependencies to maven-plugin.

          Stephan Pauxberger added a comment - The actual slowdown was due to a bug in a plugin of mine. Still, some plugins like gerrit-trigger or build-failure-analyzer now behave differently. For example, bfa prints whole screens full of messages for each module. Basically, all plugins using RunListener can be effected. Problem is, they not simply exclude MavenBuild s from being handled, because that would introduce unwanted dependencies to maven-plugin.

          Jesse Glick added a comment -

          Other plugins can for example check whether a Job is also a TopLevelItem.

          Jesse Glick added a comment - Other plugins can for example check whether a Job is also a TopLevelItem .

            Unassigned Unassigned
            paux Stephan Pauxberger
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: