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

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

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Component/s: blueocean-plugin
    • Labels:
      None
    • Environment:
      Jenkins core 2.169
      BO 1.14

      at least 100 build agents
    • Similar Issues:

      Description

      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

        Attachments

          Issue Links

            Activity

            Hide
            halkeye 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.

            Show
            halkeye 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.
            Hide
            halkeye Gavin Mogan added a comment -

            Feel free to re-open after 1.15 is out

            Show
            halkeye Gavin Mogan added a comment - Feel free to re-open after 1.15 is out
            Hide
            bustylolichan 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. 

            Show
            bustylolichan 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. 
            Hide
            halkeye Gavin Mogan added a comment -

            Ryan Fenton-Garcia 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

            Show
            halkeye Gavin Mogan added a comment - Ryan Fenton-Garcia 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
            Hide
            bustylolichan 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? 

            Show
            bustylolichan 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? 

              People

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

                Dates

                Created:
                Updated:
                Resolved: