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

High master CPU usage introduced by Blue Ocean 1.14.0

    Details

    • Type: Bug
    • Status: Reopened (View Workflow)
    • Priority: Major
    • Resolution: Unresolved
    • Component/s: blueocean-plugin
    • Labels:
      None
    • Environment:
      BlueOcean 1.14.0
      Jenkins 1.168
    • Similar Issues:
    • Released As:
      1.15.0

      Description

      We went from BO 1.13.2 to BO 1.14.0.
      After the upgrade, we have seen a major CPU increase on our Jenkins master, leading to really slow UI and job execution, with threads being locked - see screenshot.

      Our master is configured to not run any job ("only build jobs with label expression matching this node").
      Using Jenkins monitor, we saw that ~90% of the CPU time was consumed by calls to the rest endpoint /blue/rest/organizations/jenkins/computers - see screenshot.

      Looking at the release notes from 1.14.0, it seems that JENKINS-52825 has introduced that endpoint and should be an area to investigate.

      We had to rollback BO to 1.13.2 which does not exhibit that behavior.

        Attachments

          Issue Links

            Activity

            Hide
            danielbeck Daniel Beck added a comment - - edited

            It's no longer a dependency in recent BO releases. You can just click the buttons.

            I don't think the Jenkins project should be able to decide what gets uninstalled on people's instances.

            Show
            danielbeck Daniel Beck added a comment - - edited It's no longer a dependency in recent BO releases. You can just click the buttons. I don't think the Jenkins project should be able to decide what gets uninstalled on people's instances.
            Hide
            eplodn1 efo plo added a comment -

            We've been hit by this issue too, with the (unwelcome) addition of it causing any endpoint (browser) to waste CPU cycles and eventually get stuck in any installation having over ~30 nodes. We have hundreds of nodes, so any call to `/computers` endpoint is bringing 4-5 MB each, and there are several requests each couple of seconds from each computer having any BlueOcean interface open (of which we have above 150).

            While I agree that Jenkins should not voluntarily remove plugins from people who installed them, this one deserves a separate treatment in my opinion, as a) it does not seem to bring any functionality to Jenkins by the virtue of it being a "demo" of how to write a BlueOcean plugin; and b) I believe most installations of it come from the people just selecting everything with "blueocean" in its name.

            Show
            eplodn1 efo plo added a comment - We've been hit by this issue too, with the (unwelcome) addition of it causing any endpoint (browser) to waste CPU cycles and eventually get stuck in any installation having over ~30 nodes. We have hundreds of nodes, so any call to `/computers` endpoint is bringing 4-5 MB each, and there are several requests each couple of seconds from each computer having any BlueOcean interface open (of which we have above 150). While I agree that Jenkins should not voluntarily remove plugins from people who installed them, this one deserves a separate treatment in my opinion, as a) it does not seem to bring any functionality to Jenkins by the virtue of it being a "demo" of how to write a BlueOcean plugin; and b) I believe most installations of it come from the people just selecting everything with "blueocean" in its name.
            Hide
            danielbeck Daniel Beck added a comment -

            this one deserves a separate treatment in my opinion

            I would rather not add an elaborate and certain to be controversial feature to Jenkins (core) for it to be used only once for an issue that was resolved a year ago, and then never again.

            It would be plenty good enough for new Blue Ocean releases to show a warning to administrators if this plugin is still installed (and enabled), but that's up to its maintainers.

             

            Show
            danielbeck Daniel Beck added a comment - this one deserves a separate treatment in my opinion I would rather not add an elaborate and certain to be controversial feature to Jenkins (core) for it to be used only once for an issue that was resolved a year ago, and then never again. It would be plenty good enough for new Blue Ocean releases to show a warning to administrators if this plugin is still installed (and enabled), but that's up to its maintainers.  
            Hide
            jglick Jesse Glick added a comment -

            Should suffice for BO maintainers (Gavin Mogan? Olivier Lamy?) to just cut a “tombstone” release of this plugin with zero code and prominently marked as deprecated. Then people who simply update all plugins routinely would get the tombstone and no longer encounter issues; they could uninstall the plugin at some point for purposes of cleanup.

            Show
            jglick Jesse Glick added a comment - Should suffice for BO maintainers ( Gavin Mogan ? Olivier Lamy ?) to just cut a “tombstone” release of this plugin with zero code and prominently marked as deprecated. Then people who simply update all plugins routinely would get the tombstone and no longer encounter issues; they could uninstall the plugin at some point for purposes of cleanup.
            Hide
            danielbeck Daniel Beck added a comment -

            marked as deprecated

            Good point, Jenkins 2.248 and newer also prominently shows which plugins are labeled deprecated; we could add this one: https://github.com/jenkins-infra/update-center2/pull/451

            (TBH it seems crazy to me that it's still getting new releases because it's still in the multimodule project…)

             

            Show
            danielbeck Daniel Beck added a comment - marked as deprecated Good point, Jenkins 2.248 and newer also prominently shows which plugins are labeled deprecated; we could add this one: https://github.com/jenkins-infra/update-center2/pull/451 (TBH it seems crazy to me that it's still getting new releases because it's still in the multimodule project…)  

              People

              • Assignee:
                olamy Olivier Lamy
                Reporter:
                ojacques Olivier Jacques
              • Votes:
                6 Vote for this issue
                Watchers:
                14 Start watching this issue

                Dates

                • Created:
                  Updated: