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

10,000+ jobs tied to a label make Node index page unusably unresponsive

    XMLWordPrintable

Details

    Description

      When using an authorization strategy other than Unsecured or FullControlOncedoggedIn if there are 10,000+ jobs tied to labels, the tag cloud makes rendering the individual node screens seriously unresponsive as there are repeated access checks of read permission when counting the number of jobs with which to scale the tag cloud.

      It is not necessary to run the permission checks in order to return the count of jobs, and additionally it is not necessary to build a list of all jobs and then sort the list before filtering and then throwing away the list and retaining the count.

      A specialized count function with a denormalized loop should provide more usable performance... additionally it is questionable whether the tag cloud provides much utility for very large installations.

      Attachments

        Activity

          dogfood dogfood added a comment -

          Integrated in jenkins_main_trunk #2699
          [FIXED JENKINS-18660] Added dedicated denormalized counter function (Revision 5981ac4ed7b4b5c462a71ae186a133f7fe44e1a1)

          Result = SUCCESS
          Stephen Connolly : 5981ac4ed7b4b5c462a71ae186a133f7fe44e1a1
          Files :

          • core/src/main/java/hudson/model/Node.java
          • core/src/main/java/hudson/model/Label.java
          dogfood dogfood added a comment - Integrated in jenkins_main_trunk #2699 [FIXED JENKINS-18660] Added dedicated denormalized counter function (Revision 5981ac4ed7b4b5c462a71ae186a133f7fe44e1a1) Result = SUCCESS Stephen Connolly : 5981ac4ed7b4b5c462a71ae186a133f7fe44e1a1 Files : core/src/main/java/hudson/model/Node.java core/src/main/java/hudson/model/Label.java
          jglick Jesse Glick added a comment -

          Is this really “minor” given that the original report claimed >60sec load time per page as a result of this? And should it be lts-candidate?

          jglick Jesse Glick added a comment - Is this really “minor” given that the original report claimed >60sec load time per page as a result of this? And should it be lts-candidate ?

          I don't know how many users have 10,000+ jobs, so far as I know Daniel was the first to identify this issue. I have no issue with upgrading to Major.

          I thought a fix had to be in trunk for 2wk+ before considering for LTS. If it can be flagged as such immediately, fine by me (and presume Daniel too)

          stephenconnolly Stephen Connolly added a comment - I don't know how many users have 10,000+ jobs, so far as I know Daniel was the first to identify this issue. I have no issue with upgrading to Major. I thought a fix had to be in trunk for 2wk+ before considering for LTS. If it can be flagged as such immediately, fine by me (and presume Daniel too)
          jglick Jesse Glick added a comment -

          I thought a fix had to be in trunk for 2wk+ before considering for LTS.

          It can be flagged at any time; the two-week rule applies to merging it.

          jglick Jesse Glick added a comment - I thought a fix had to be in trunk for 2wk+ before considering for LTS. It can be flagged at any time; the two-week rule applies to merging it.
          danielbeck Daniel Beck added a comment -

          Shouldn't this be closed?

          danielbeck Daniel Beck added a comment - Shouldn't this be closed?
          jglick Jesse Glick added a comment -

          Yes, probably the JIRA link daemon was malfunctioning at the time of commit.

          jglick Jesse Glick added a comment - Yes, probably the JIRA link daemon was malfunctioning at the time of commit.

          Code changed in jenkins
          User: Stephen Connolly
          Path:
          core/src/main/java/hudson/model/Label.java
          core/src/main/java/hudson/model/Node.java
          http://jenkins-ci.org/commit/jenkins/9bee3ba75d80115456732e9791ba9caab71c9042
          Log:
          [FIXED JENKINS-18660] Added dedicated denormalized counter function

          (cherry picked from commit 5981ac4ed7b4b5c462a71ae186a133f7fe44e1a1)

          Conflicts:
          core/src/main/java/hudson/model/Label.java

          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: core/src/main/java/hudson/model/Label.java core/src/main/java/hudson/model/Node.java http://jenkins-ci.org/commit/jenkins/9bee3ba75d80115456732e9791ba9caab71c9042 Log: [FIXED JENKINS-18660] Added dedicated denormalized counter function (cherry picked from commit 5981ac4ed7b4b5c462a71ae186a133f7fe44e1a1) Conflicts: core/src/main/java/hudson/model/Label.java

          People

            stephenconnolly Stephen Connolly
            stephenconnolly Stephen Connolly
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: