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

First-time display with many Maven jobs blocked in FingerprintAction.compact

    XMLWordPrintable

Details

    Description

      Even with the lazyloading (I just upgraded from 1.480.3) the startup of my instance is slow (~20min). After that it makes a long time (~10min) to display the UI (I'm using the dashboard plugin)
      here is a first Threads Dump while having a white screen : https://gist.github.com/aheritier/6363143
      Discussing on the ML jglick proposes this :

      Related to a performance fix in MavenModuleSetBuild.computeResult, but
      that is not really the cause. Probably FingerprintAction.onLoad need
      not call .compact synchronously; that would I think save a lot of
      time. File it.

      Attachments

        Issue Links

          Activity

            aheritier Arnaud Héritier created issue -
            jglick Jesse Glick made changes -
            Field Original Value New Value
            Labels performance
            jglick Jesse Glick added a comment -

            I think the root issue is in core, not the Maven plugin, though the presence of numerous Maven modules aggravates it.

            jglick Jesse Glick added a comment - I think the root issue is in core, not the Maven plugin, though the presence of numerous Maven modules aggravates it.
            jglick Jesse Glick made changes -
            Component/s core [ 15593 ]
            Component/s maven [ 16033 ]
            jglick Jesse Glick made changes -
            Issue Type Improvement [ 4 ] Bug [ 1 ]
            jglick Jesse Glick made changes -
            Summary Empty pages to access the UI the first time with many Maven jobs First-time display with many Maven jobs blocked in FingerprintAction.compact
            abayer Andrew Bayer added a comment -

            We're seeing this over at https://builds.apache.org on a 1.564-SNAPSHOT build - initial startup takes ~30 minutes, with 1,158 total jobs and a lot of Maven modules (not even sure of that exact count yet...). Here's a jstack dump from during startup: https://gist.github.com/abayer/1c1393d739bb84911c25

            abayer Andrew Bayer added a comment - We're seeing this over at https://builds.apache.org on a 1.564-SNAPSHOT build - initial startup takes ~30 minutes, with 1,158 total jobs and a lot of Maven modules (not even sure of that exact count yet...). Here's a jstack dump from during startup: https://gist.github.com/abayer/1c1393d739bb84911c25
            abayer Andrew Bayer made changes -
            Priority Major [ 3 ] Critical [ 2 ]
            jglick Jesse Glick made changes -
            Labels performance fingerprints performance
            jglick Jesse Glick made changes -
            Link This issue is related to JENKINS-25075 [ JENKINS-25075 ]
            jglick Jesse Glick made changes -
            Assignee Jesse Glick [ jglick ]
            jglick Jesse Glick made changes -
            Status Open [ 1 ] In Progress [ 3 ]

            Code changed in jenkins
            User: Jesse Glick
            Path:
            changelog.html
            core/src/main/java/hudson/tasks/Fingerprinter.java
            http://jenkins-ci.org/commit/jenkins/2f59ffc475dc73a9a9cd5a7596819f3242c22f6f
            Log:
            [FIXED JENKINS-19392] Simpler and more efficient to use String.intern to compact fingerprint data.
            This should work across builds and even across jobs, and does not force us to load other builds.

            Compare: https://github.com/jenkinsci/jenkins/compare/c5c6bc050d49...2f59ffc475dc

            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: changelog.html core/src/main/java/hudson/tasks/Fingerprinter.java http://jenkins-ci.org/commit/jenkins/2f59ffc475dc73a9a9cd5a7596819f3242c22f6f Log: [FIXED JENKINS-19392] Simpler and more efficient to use String.intern to compact fingerprint data. This should work across builds and even across jobs, and does not force us to load other builds. Compare: https://github.com/jenkinsci/jenkins/compare/c5c6bc050d49...2f59ffc475dc
            scm_issue_link SCM/JIRA link daemon made changes -
            Resolution Fixed [ 1 ]
            Status In Progress [ 3 ] Resolved [ 5 ]
            dogfood dogfood added a comment -

            Integrated in jenkins_main_trunk #3886
            [FIXED JENKINS-19392] Simpler and more efficient to use String.intern to compact fingerprint data. (Revision 2f59ffc475dc73a9a9cd5a7596819f3242c22f6f)

            Result = SUCCESS
            jesse glick : 2f59ffc475dc73a9a9cd5a7596819f3242c22f6f
            Files :

            • changelog.html
            • core/src/main/java/hudson/tasks/Fingerprinter.java
            dogfood dogfood added a comment - Integrated in jenkins_main_trunk #3886 [FIXED JENKINS-19392] Simpler and more efficient to use String.intern to compact fingerprint data. (Revision 2f59ffc475dc73a9a9cd5a7596819f3242c22f6f) Result = SUCCESS jesse glick : 2f59ffc475dc73a9a9cd5a7596819f3242c22f6f Files : changelog.html core/src/main/java/hudson/tasks/Fingerprinter.java
            jglick Jesse Glick made changes -
            Link This issue is blocking JENKINS-26391 [ JENKINS-26391 ]
            schristou Steven Christou made changes -
            Labels fingerprints performance fingerprints lts-candidate performance
            olivergondza Oliver Gondža made changes -
            Labels fingerprints lts-candidate performance 1.596.2-fixed fingerprints performance

            Code changed in jenkins
            User: Jesse Glick
            Path:
            core/src/main/java/hudson/tasks/Fingerprinter.java
            http://jenkins-ci.org/commit/jenkins/dd2083aa4734836164b82a86608ad8a9ec353a02
            Log:
            [FIXED JENKINS-19392] Simpler and more efficient to use String.intern to compact fingerprint data.
            This should work across builds and even across jobs, and does not force us to load other builds.
            (cherry picked from commit 2f59ffc475dc73a9a9cd5a7596819f3242c22f6f)

            Conflicts:
            changelog.html

            Compare: https://github.com/jenkinsci/jenkins/compare/b8a559c820a9...dd2083aa4734

            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: core/src/main/java/hudson/tasks/Fingerprinter.java http://jenkins-ci.org/commit/jenkins/dd2083aa4734836164b82a86608ad8a9ec353a02 Log: [FIXED JENKINS-19392] Simpler and more efficient to use String.intern to compact fingerprint data. This should work across builds and even across jobs, and does not force us to load other builds. (cherry picked from commit 2f59ffc475dc73a9a9cd5a7596819f3242c22f6f) Conflicts: changelog.html Compare: https://github.com/jenkinsci/jenkins/compare/b8a559c820a9...dd2083aa4734
            dogfood dogfood added a comment -

            Integrated in jenkins_main_trunk #4292
            [FIXED JENKINS-19392] Simpler and more efficient to use String.intern to compact fingerprint data. (Revision dd2083aa4734836164b82a86608ad8a9ec353a02)

            Result = UNSTABLE
            ogondza : dd2083aa4734836164b82a86608ad8a9ec353a02
            Files :

            • core/src/main/java/hudson/tasks/Fingerprinter.java
            dogfood dogfood added a comment - Integrated in jenkins_main_trunk #4292 [FIXED JENKINS-19392] Simpler and more efficient to use String.intern to compact fingerprint data. (Revision dd2083aa4734836164b82a86608ad8a9ec353a02) Result = UNSTABLE ogondza : dd2083aa4734836164b82a86608ad8a9ec353a02 Files : core/src/main/java/hudson/tasks/Fingerprinter.java
            rtyler R. Tyler Croy made changes -
            Workflow JNJira [ 150840 ] JNJira + In-Review [ 193699 ]

            People

              jglick Jesse Glick
              aheritier Arnaud Héritier
              Votes:
              4 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: