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

getAssignedLabel in MavenModule is implemented with lazy loading

      getAssignedLabel function seems to be triggering lazy loading in MavenModule class which can then take some time to complete.

      Maybe should use getSameNodeConstraint

      https://github.com/jenkinsci/maven-plugin/blob/master/src/main/java/hudson/maven/MavenModule.java#L459

      Append by schristou

      Stack trace snippet below:

       - hudson.model.RunMap.retrieve(java.io.File) @bci=21, line=218 (Interpreted frame)
       - hudson.model.RunMap.retrieve(java.io.File) @bci=2, line=56 (Interpreted frame)
       - jenkins.model.lazy.AbstractLazyLoadRunMap.load(java.io.File, jenkins.model.lazy.AbstractLazyLoadRunMap$Index) @bci=2, line=688 (Interpreted frame)
       - jenkins.model.lazy.AbstractLazyLoadRunMap.load(int, jenkins.model.lazy.AbstractLazyLoadRunMap$Index) @bci=36, line=650 (Compiled frame)
       - jenkins.model.lazy.AbstractLazyLoadRunMap.search(int, jenkins.model.lazy.AbstractLazyLoadRunMap$Direction) @bci=80, line=382 (Compiled frame)
       - jenkins.model.lazy.LazyBuildMixIn$RunMixIn.getPreviousBuild() @bci=78, line=366 (Interpreted frame)
       - hudson.model.AbstractBuild.getPreviousBuild() @bci=4, line=196 (Interpreted frame)
       - hudson.model.AbstractBuild.getPreviousBuild() @bci=1, line=104 (Interpreted frame)
       - hudson.tasks.Fingerprinter$FingerprintAction.compact() @bci=14, line=352 (Interpreted frame)
       - hudson.tasks.Fingerprinter$FingerprintAction.onLoad(hudson.model.Run) @bci=6, line=341 (Interpreted frame)
       - hudson.model.Run.onLoad() @bci=41, line=342 (Compiled frame)
       - hudson.maven.MavenModuleSetBuild.onLoad() @bci=1, line=151 (Interpreted frame)
       - hudson.model.RunMap.retrieve(java.io.File) @bci=28, line=219 (Interpreted frame)
       - hudson.model.RunMap.retrieve(java.io.File) @bci=2, line=56 (Interpreted frame)
       - jenkins.model.lazy.AbstractLazyLoadRunMap.load(java.io.File, jenkins.model.lazy.AbstractLazyLoadRunMap$Index) @bci=2, line=688 (Interpreted frame)
       - jenkins.model.lazy.AbstractLazyLoadRunMap.load(int, jenkins.model.lazy.AbstractLazyLoadRunMap$Index) @bci=36, line=650 (Compiled frame)
       - jenkins.model.lazy.AbstractLazyLoadRunMap.search(int, jenkins.model.lazy.AbstractLazyLoadRunMap$Direction) @bci=80, line=382 (Compiled frame)
       - jenkins.model.lazy.AbstractLazyLoadRunMap.getByNumber(int) @bci=5, line=547 (Compiled frame)
       - jenkins.model.lazy.AbstractLazyLoadRunMap.search(int, jenkins.model.lazy.AbstractLazyLoadRunMap$Direction) @bci=176, line=393 (Compiled frame)
       - jenkins.model.lazy.AbstractLazyLoadRunMap.newestBuild() @bci=6, line=335 (Compiled frame)
       - jenkins.model.lazy.LazyBuildMixIn.getLastBuild() @bci=4, line=249 (Compiled frame)
       - hudson.model.AbstractProject.getLastBuild() @bci=4, line=974 (Compiled frame)
       - hudson.model.AbstractProject.getLastBuiltOn() @bci=1, line=1038 (Compiled frame)
       - hudson.maven.MavenModule.getAssignedLabel() @bci=4, line=460 (Interpreted frame)
       - hudson.model.Label.getTiedJobCount() @bci=176, line=392 (Compiled frame)
      

          [JENKINS-26391] getAssignedLabel in MavenModule is implemented with lazy loading

          Félix Belzunce Arcos created issue -
          Steven Christou made changes -
          Component/s Original: performance-plugin [ 15803 ]
          Labels New: lazy-loading performance
          Steven Christou made changes -
          Priority Original: Minor [ 4 ] New: Critical [ 2 ]
          Steven Christou made changes -
          Assignee Original: Félix Belzunce Arcos [ fbelzunc ] New: Steven Christou [ schristou ]
          Steven Christou made changes -
          Remote Link New: This issue links to "PR 38 (Web Link)" [ 12103 ]
          Steven Christou made changes -
          Description Original: getAssignedLabel function seems to be triggering lazy loading in MavenModule class which can then take some time to complete.

          Maybe should use getSameNodeConstraint

          https://github.com/jenkinsci/maven-plugin/blob/master/src/main/java/hudson/maven/MavenModule.java#L459
          New: getAssignedLabel function seems to be triggering lazy loading in MavenModule class which can then take some time to complete.

          Maybe should use getSameNodeConstraint

          https://github.com/jenkinsci/maven-plugin/blob/master/src/main/java/hudson/maven/MavenModule.java#L459

          Append by [~schristou]

          Stack trace snippet below:

          {noformat}
           - hudson.model.RunMap.retrieve(java.io.File) @bci=21, line=218 (Interpreted frame)
           - hudson.model.RunMap.retrieve(java.io.File) @bci=2, line=56 (Interpreted frame)
           - jenkins.model.lazy.AbstractLazyLoadRunMap.load(java.io.File, jenkins.model.lazy.AbstractLazyLoadRunMap$Index) @bci=2, line=688 (Interpreted frame)
           - jenkins.model.lazy.AbstractLazyLoadRunMap.load(int, jenkins.model.lazy.AbstractLazyLoadRunMap$Index) @bci=36, line=650 (Compiled frame)
           - jenkins.model.lazy.AbstractLazyLoadRunMap.search(int, jenkins.model.lazy.AbstractLazyLoadRunMap$Direction) @bci=80, line=382 (Compiled frame)
           - jenkins.model.lazy.LazyBuildMixIn$RunMixIn.getPreviousBuild() @bci=78, line=366 (Interpreted frame)
           - hudson.model.AbstractBuild.getPreviousBuild() @bci=4, line=196 (Interpreted frame)
           - hudson.model.AbstractBuild.getPreviousBuild() @bci=1, line=104 (Interpreted frame)
           - hudson.tasks.Fingerprinter$FingerprintAction.compact() @bci=14, line=352 (Interpreted frame)
           - hudson.tasks.Fingerprinter$FingerprintAction.onLoad(hudson.model.Run) @bci=6, line=341 (Interpreted frame)
           - hudson.model.Run.onLoad() @bci=41, line=342 (Compiled frame)
           - hudson.maven.MavenModuleSetBuild.onLoad() @bci=1, line=151 (Interpreted frame)
           - hudson.model.RunMap.retrieve(java.io.File) @bci=28, line=219 (Interpreted frame)
           - hudson.model.RunMap.retrieve(java.io.File) @bci=2, line=56 (Interpreted frame)
           - jenkins.model.lazy.AbstractLazyLoadRunMap.load(java.io.File, jenkins.model.lazy.AbstractLazyLoadRunMap$Index) @bci=2, line=688 (Interpreted frame)
           - jenkins.model.lazy.AbstractLazyLoadRunMap.load(int, jenkins.model.lazy.AbstractLazyLoadRunMap$Index) @bci=36, line=650 (Compiled frame)
           - jenkins.model.lazy.AbstractLazyLoadRunMap.search(int, jenkins.model.lazy.AbstractLazyLoadRunMap$Direction) @bci=80, line=382 (Compiled frame)
           - jenkins.model.lazy.AbstractLazyLoadRunMap.getByNumber(int) @bci=5, line=547 (Compiled frame)
           - jenkins.model.lazy.AbstractLazyLoadRunMap.search(int, jenkins.model.lazy.AbstractLazyLoadRunMap$Direction) @bci=176, line=393 (Compiled frame)
           - jenkins.model.lazy.AbstractLazyLoadRunMap.newestBuild() @bci=6, line=335 (Compiled frame)
           - jenkins.model.lazy.LazyBuildMixIn.getLastBuild() @bci=4, line=249 (Compiled frame)
           - hudson.model.AbstractProject.getLastBuild() @bci=4, line=974 (Compiled frame)
           - hudson.model.AbstractProject.getLastBuiltOn() @bci=1, line=1038 (Compiled frame)
           - hudson.maven.MavenModule.getAssignedLabel() @bci=4, line=460 (Interpreted frame)
           - hudson.model.Label.getTiedJobCount() @bci=176, line=392 (Compiled frame)
          {noformat}
          Jesse Glick made changes -
          Link New: This issue depends on JENKINS-19392 [ JENKINS-19392 ]
          Steven Christou made changes -
          Resolution New: Fixed [ 1 ]
          Status Original: Open [ 1 ] New: Resolved [ 5 ]
          Ireneusz Makowski made changes -
          Labels Original: lazy-loading performance New: lazy-loading lts-candidate performance
          Oliver Gondža made changes -
          Labels Original: lazy-loading lts-candidate performance New: lazy-loading performance
          R. Tyler Croy made changes -
          Workflow Original: JNJira [ 160457 ] New: JNJira + In-Review [ 196441 ]

            schristou Steven Christou
            fbelzunc Félix Belzunce Arcos
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: