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

blueocean breaks when too many branches are used in parallel

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Major Major
    • blueocean-plugin
    • Setup includes multiple (>10) workers.
      Tested with
      * Firefox 50.1.0
      * BlueOcean beta 1.0.0-b13

      #!/usr/bin/env groovy
      
      stage("Setup") {
      }
      
      stage("Tests") {
          def tests = [:]
          for (int i=0; i < 80; i++) {
              def counter = i 
              tests[i] = {
                  node {
                      echo "This is ${i}"
                  }   
              }
          }
      
          parallel (tests)
      }
      
      stage("End") {
      }
      

      The above code is correctly displayed in blueocean in the form of:

      Setup -- Tests -- End
                 -- 1
                 -- ...
                 -- 80
      

      However, if I increase the max count of the loop iterations from 80 to 100, then blueocean is not able to show the graph. Instead, I get the message:

      Error rendering PipelineRunGraph: TypeError: child is undefined
      

          [JENKINS-40510] blueocean breaks when too many branches are used in parallel

          James Dumay added a comment -

          Thanks for reporting this cgundogan. This ticket appears to be a duplicate of JENKINS-39770 so please watch and vote for it instead.

          Question about the usage here - do you actually have a pipeline with 80+ parallels or are you just seeing what Blue Ocean can handle?

          ping michaelneale vivek

          James Dumay added a comment - Thanks for reporting this cgundogan . This ticket appears to be a duplicate of JENKINS-39770 so please watch and vote for it instead. Question about the usage here - do you actually have a pipeline with 80+ parallels or are you just seeing what Blue Ocean can handle? ping michaelneale vivek

          Thank you jamesdumay for the hint.

          Indeed, I have a use case that requires >100 nodes in the graph. My given example is highly simplified; I actually have a use case where I use two consecutive parallels that each have ~60 branches. Together, they result in many nodes at the UI side, hence breaking the graph.

          Cenk Gündoğan added a comment - Thank you jamesdumay for the hint. Indeed, I have a use case that requires >100 nodes in the graph. My given example is highly simplified; I actually have a use case where I use two consecutive parallels that each have ~60 branches. Together, they result in many nodes at the UI side, hence breaking the graph.

          James Dumay added a comment -

          cgundogan thats good to know. We may not be able to make the Pipeline graph scale to that amount of parallels but I'd love to chat with you about this. Would you mind having a quick Google hangout to chat about your specific usage?

          James Dumay added a comment - cgundogan thats good to know. We may not be able to make the Pipeline graph scale to that amount of parallels but I'd love to chat with you about this. Would you mind having a quick Google hangout to chat about your specific usage?

            Unassigned Unassigned
            cgundogan Cenk Gündoğan
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: