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

BlueOcean triggering an oddly large amount of work due to simple getAction call on Run

    XMLWordPrintable

    Details

    • Epic Link:
    • Sprint:
      Blue Ocean 1.4 - beta 2
    • Similar Issues:

      Description

      Note: we are pretty sure this is for an older version of blue ocean, not sure if in the newer ones, this happens on large masters when there is lots of stuff going on and being queued. 

       

      I spotted this while troubleshooting an issue – it was being triggered by a simple call to the display name of a run. Seems to be triggered when getting the Action list for the run, due to the BlueOcean TransientActionFactory creating an Action.

      Probably the whole thing could be sidestepped if we lazy-initialized some of these parts rather than eagerly initializing.

      at io.jenkins.blueocean.rest.hal.Link.rel(Link.java:30)
      at io.jenkins.blueocean.service.embedded.rest.OrganizationImpl.getLink(OrganizationImpl.java:93)
      at io.jenkins.blueocean.service.embedded.rest.PipelineContainerImpl.<init>(PipelineContainerImpl.java:50)
      at io.jenkins.blueocean.service.embedded.rest.PipelineContainerImpl.<init>(PipelineContainerImpl.java:41)
      at io.jenkins.blueocean.service.embedded.rest.OrganizationImpl.getPipelines(OrganizationImpl.java:65)
      at io.jenkins.blueocean.rest.factory.BluePipelineFactory.resolve(BluePipelineFactory.java:64)
      at io.jenkins.blueocean.service.embedded.BlueOceanUrlMapperImpl.getUrl(BlueOceanUrlMapperImpl.java:58)
      at io.jenkins.blueocean.service.embedded.BlueOceanUrlObjectImpl.<init>(BlueOceanUrlObjectImpl.java:19)
      at io.jenkins.blueocean.service.embedded.BlueOceanUrlObjectFactoryImpl.get(BlueOceanUrlObjectFactoryImpl.java:18)
      at io.jenkins.blueocean.service.embedded.TryBlueOceanMenu.createFor(TryBlueOceanMenu.java:45)
      at io.jenkins.blueocean.service.embedded.TryBlueOceanMenu.createFor(TryBlueOceanMenu.java:26)
      at hudson.model.Actionable.createFor(Actionable.java:111)
      at hudson.model.Actionable.getAction(Actionable.java:334)
      at jenkins.branch.OrganizationFolder.getDisplayName(OrganizationFolder.java:564)
      at hudson.model.AbstractItem.getFullDisplayName(AbstractItem.java:368)
      at hudson.model.AbstractItem.getFullDisplayName(AbstractItem.java:367)
      at hudson.model.AbstractItem.getFullDisplayName(AbstractItem.java:367)
      at hudson.model.Run.getFullDisplayName(Run.java:782)
      at

        Attachments

          Issue Links

            Activity

            svanoort Sam Van Oort created issue -
            jamesdumay James Dumay made changes -
            Field Original Value New Value
            Epic Link JENKINS-37957 [ 174099 ]
            jamesdumay James Dumay made changes -
            Sprint Blue Ocean 1.4 - beta 3 [ 416 ]
            svanoort Sam Van Oort made changes -
            Priority Minor [ 4 ] Major [ 3 ]
            jamesdumay James Dumay made changes -
            Assignee Vivek Pandey [ vivek ]
            jamesdumay James Dumay made changes -
            Sprint Blue Ocean 1.4 - beta 3 [ 416 ] Blue Ocean 1.4 - beta 2 [ 426 ]
            svanoort Sam Van Oort made changes -
            Environment Blue Ocean 1.1.7
            Sprint Blue Ocean 1.4 - beta 2 [ 426 ] Blue Ocean 1.4 - beta 3 [ 416 ]
            Assignee Vivek Pandey [ vivek ]
            michaelneale Michael Neale made changes -
            Description I spotted this while troubleshooting an issue -- it was being triggered by a simple call to the display name of a run. Seems to be triggered when getting the Action list for the run, due to the BlueOcean TransientActionFactory creating an Action.

            Probably the whole thing could be sidestepped if we lazy-initialized some of these parts rather than eagerly initializing.

            {quote} at io.jenkins.blueocean.rest.hal.Link.rel(Link.java:30)
            at io.jenkins.blueocean.service.embedded.rest.OrganizationImpl.getLink(OrganizationImpl.java:93)
            at io.jenkins.blueocean.service.embedded.rest.PipelineContainerImpl.<init>(PipelineContainerImpl.java:50)
            at io.jenkins.blueocean.service.embedded.rest.PipelineContainerImpl.<init>(PipelineContainerImpl.java:41)
            at io.jenkins.blueocean.service.embedded.rest.OrganizationImpl.getPipelines(OrganizationImpl.java:65)
            at io.jenkins.blueocean.rest.factory.BluePipelineFactory.resolve(BluePipelineFactory.java:64)
            at io.jenkins.blueocean.service.embedded.BlueOceanUrlMapperImpl.getUrl(BlueOceanUrlMapperImpl.java:58)
            at io.jenkins.blueocean.service.embedded.BlueOceanUrlObjectImpl.<init>(BlueOceanUrlObjectImpl.java:19)
            at io.jenkins.blueocean.service.embedded.BlueOceanUrlObjectFactoryImpl.get(BlueOceanUrlObjectFactoryImpl.java:18)
            at io.jenkins.blueocean.service.embedded.TryBlueOceanMenu.createFor(TryBlueOceanMenu.java:45)
            at io.jenkins.blueocean.service.embedded.TryBlueOceanMenu.createFor(TryBlueOceanMenu.java:26)
            at hudson.model.Actionable.createFor(Actionable.java:111)
            at hudson.model.Actionable.getAction(Actionable.java:334)
            at jenkins.branch.OrganizationFolder.getDisplayName(OrganizationFolder.java:564)
            at hudson.model.AbstractItem.getFullDisplayName(AbstractItem.java:368)
            at hudson.model.AbstractItem.getFullDisplayName(AbstractItem.java:367)
            at hudson.model.AbstractItem.getFullDisplayName(AbstractItem.java:367)
            at hudson.model.Run.getFullDisplayName(Run.java:782)
            at {quote}
            _Note: we are pretty sure this is for an older version of blue ocean, not sure if in the newer ones, this happens on large masters when there is lots of stuff going on and being queued._ 

             

            I spotted this while troubleshooting an issue – it was being triggered by a simple call to the display name of a run. Seems to be triggered when getting the Action list for the run, due to the BlueOcean TransientActionFactory creating an Action.

            Probably the whole thing could be sidestepped if we lazy-initialized some of these parts rather than eagerly initializing.
            {quote}at io.jenkins.blueocean.rest.hal.Link.rel(Link.java:30)
             at io.jenkins.blueocean.service.embedded.rest.OrganizationImpl.getLink(OrganizationImpl.java:93)
             at io.jenkins.blueocean.service.embedded.rest.PipelineContainerImpl.<init>(PipelineContainerImpl.java:50)
             at io.jenkins.blueocean.service.embedded.rest.PipelineContainerImpl.<init>(PipelineContainerImpl.java:41)
             at io.jenkins.blueocean.service.embedded.rest.OrganizationImpl.getPipelines(OrganizationImpl.java:65)
             at io.jenkins.blueocean.rest.factory.BluePipelineFactory.resolve(BluePipelineFactory.java:64)
             at io.jenkins.blueocean.service.embedded.BlueOceanUrlMapperImpl.getUrl(BlueOceanUrlMapperImpl.java:58)
             at io.jenkins.blueocean.service.embedded.BlueOceanUrlObjectImpl.<init>(BlueOceanUrlObjectImpl.java:19)
             at io.jenkins.blueocean.service.embedded.BlueOceanUrlObjectFactoryImpl.get(BlueOceanUrlObjectFactoryImpl.java:18)
             at io.jenkins.blueocean.service.embedded.TryBlueOceanMenu.createFor(TryBlueOceanMenu.java:45)
             at io.jenkins.blueocean.service.embedded.TryBlueOceanMenu.createFor(TryBlueOceanMenu.java:26)
             at hudson.model.Actionable.createFor(Actionable.java:111)
             at hudson.model.Actionable.getAction(Actionable.java:334)
             at jenkins.branch.OrganizationFolder.getDisplayName(OrganizationFolder.java:564)
             at hudson.model.AbstractItem.getFullDisplayName(AbstractItem.java:368)
             at hudson.model.AbstractItem.getFullDisplayName(AbstractItem.java:367)
             at hudson.model.AbstractItem.getFullDisplayName(AbstractItem.java:367)
             at hudson.model.Run.getFullDisplayName(Run.java:782)
             at
            {quote}
            michaelneale Michael Neale made changes -
            Assignee Vivek Pandey [ vivek ]
            michaelneale Michael Neale made changes -
            Assignee Vivek Pandey [ vivek ] Michael Neale [ michaelneale ]
            michaelneale Michael Neale made changes -
            Assignee Michael Neale [ michaelneale ] Vivek Pandey [ vivek ]
            michaelneale Michael Neale made changes -
            Priority Major [ 3 ] Critical [ 2 ]
            michaelneale Michael Neale made changes -
            Sprint Blue Ocean 1.4 - beta 3 [ 416 ] Blue Ocean 1.4 - beta 2 [ 426 ]
            vivek Vivek Pandey made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            vivek Vivek Pandey made changes -
            Status In Progress [ 3 ] In Review [ 10005 ]
            vivek Vivek Pandey made changes -
            Status In Review [ 10005 ] Resolved [ 5 ]
            Resolution Fixed [ 1 ]
            michaelneale Michael Neale made changes -
            Remote Link This issue links to "Page (Jenkins Wiki)" [ 17966 ]
            jbriden Jenn Briden made changes -
            Status Resolved [ 5 ] Closed [ 6 ]

              People

              • Assignee:
                vivek Vivek Pandey
                Reporter:
                svanoort Sam Van Oort
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: