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

Hundreds of REST calls to JOB_URL/runs/2/nodes/?limit=10000

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • blueocean-plugin
    • None
    • Jenkins core 2.169
      BO 1.14

      at least 100 build agents

      When you are using a high number of agents running the BO UI increase the number of request to the URL JOB_URL/runs/2/nodes/?limit=10000, this could become insane and makes that the UI blinks every time making it unusable even when the jobs are done.

      Steps to replicate

      • You need a system that can provision at least 100 agents to see the behavior
      • Execute the following pipeline three times to try to provision more than 100 agents
        #!/usr/bin/env groovy
        
        pipeline {
          agent { label 'master' }
          stages {
            stage('test'){
              steps{
                script {
                    def tasks = [:]
                    for(def i = 0; i < 50; i++){
                        tasks["t-${i}"] = parallelTask()
                    }
                    parallel(tasks)
                }
              }
            }
          }
        }
        
        def parallelTask(){
            return {
                node('immutable'){
                    timeout(time: 90, unit: 'SECONDS') {
                        echo "NOOP"
                        sleep 1
                    }
                }
            }
        }
        
      • Open the BO UI on one of the builds
      • Open the Chrome inspector on the network tab, after a minute or so you will start seen tons of REST request like 'JOB_URL/runs/2/nodes/?limit=10000' and 'JENKINS_URL/blue/rest/organizations/jenkins/computers/' meanwhile every few seconds the UI will blink

          [JENKINS-56833] Hundreds of REST calls to JOB_URL/runs/2/nodes/?limit=10000

          Gavin Mogan added a comment -

          Yea we found out that every job/stage start/top will refresh the computers stuff. JENKINS-56773 has a fix, just needs to be merged.

          Gavin Mogan added a comment - Yea we found out that every job/stage start/top will refresh the computers stuff. JENKINS-56773 has a fix, just needs to be merged.

          Gavin Mogan added a comment -

          Feel free to re-open after 1.15 is out

          Gavin Mogan added a comment - Feel free to re-open after 1.15 is out

          Ryan Fenton-Garcia added a comment - - edited

          I think I'm still seeing this currently with the Blue Ocean Aggregator 1.22.0


          It also gives like... a pretty sexy view that's just locked to the bottom of the last step of the stage view. No matter where you scroll, the ?limit=10000 request gets made and the view is reset and snapped back to the bottom of the page. It's a super frustrating user experience. 

          Ryan Fenton-Garcia added a comment - - edited I think I'm still seeing this currently with the Blue Ocean Aggregator 1.22.0 It also gives like... a pretty sexy view that's just locked to the bottom of the last step of the stage view. No matter where you scroll, the ?limit=10000 request gets made and the view is reset and snapped back to the bottom of the page. It's a super frustrating user experience. 

          Gavin Mogan added a comment -

          bustylolichan Please open a new issue

          This one was resolved by making executor info an optional plugin, so only those that need it (and I recommend you uninstall the executor plugin), and doesn't break things, can have it installed

          if its hitting a different endpoint. Its a new bug, and the new owners will need to take a look at it

          Gavin Mogan added a comment - bustylolichan Please open a new issue This one was resolved by making executor info an optional plugin, so only those that need it (and I recommend you uninstall the executor plugin), and doesn't break things, can have it installed if its hitting a different endpoint. Its a new bug, and the new owners will need to take a look at it

          That's actually extremely helpful to know! Do you know what kind of things the executor info plugin actually provides? I tried to look at the github page for the plugin, but I only see a link to a presentation that I'm not sure what is or isn't specifically related to the plugin.

          Also, do you know what other plugins that potentially degrade blue ocean's performance are optional? 

          Ryan Fenton-Garcia added a comment - That's actually extremely helpful to know! Do you know what kind of things the executor info plugin actually provides? I tried to look at the github page for the plugin, but I only see a link to a presentation that I'm not sure what is or isn't specifically related to the plugin. Also, do you know what other plugins that potentially degrade blue ocean's performance are optional? 

            Unassigned Unassigned
            ifernandezcalvo Ivan Fernandez Calvo
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: