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

Karaoke: steps and nodes are limited to 100 - need to increase limit

    Details

    • Sprint:
      iapetus, 1.0
    • Similar Issues:

      Description

      Thorsten Scherler the steps api is paginated with a page size of 100 - the front end code will need to change to fetch the next patch of data (cc Vivek Pandey)

       In Scope: 

      Out of scope: 

      • steps api (separate ticket)
      • making graph cope with loading large graphs of nodes in a paginated fashion (this needs more thinking and design). 

       

      This could be addressed with a refactoring of Karaoke I guess?
      This also explains why only 100 parallel nodes are changed (in that case, it is pointless to show more, but 100 steps... you may want to show that).

      It seems that we only get a limited number of steps

      Using the following pipelineScript and https://github.com/scherler/blueocean-shared-library/commit/43d5620a42d7795b43bc829d694c3cae2a3c3919

      @Library('test-writer') import writeTest
      import longLog
      node {
          stage 'fin'
          def xml = writeTest()
          sh "echo '$xml' > TEST-some.xml"
          step([$class: 'JUnitResultArchiver', testResults: 'TEST-*.xml'])
          sh 'echo `date` fin;sleep 3; echo `date` fin;'
          sh 'echo yeah > foo.txt'
          archiveArtifacts 'foo.txt'
          longLog(10000, false)
          stage 'NoSteps'
      }
      

        Attachments

          Issue Links

            Activity

            Hide
            jamesdumay James Dumay added a comment -

            Closing this as a duplicate of JENKINS-39770.

            Show
            jamesdumay James Dumay added a comment - Closing this as a duplicate of JENKINS-39770 .
            Hide
            vivek Vivek Pandey added a comment -

            Maybe short term of 500 is fine. '/nodes/:id/steps/?start=0&limit=500' would fetch 0 to 500 on first and then on subsequent requests client can look at Link HTTP header, fetch next and simply use it.

            For example:

            https://ci.blueocean.io/blue/rest/organizations/jenkins/pipelines/i386/pipelines/app-store-demo/master/runs/1/nodes/11/steps/?start=0&limit=2
            

            HTTP link Header:

            link:</blue/rest/organizations/jenkins/pipelines/i386/pipelines/app-store-demo/master/runs/1/nodes/11/steps/?start=2&limit=2>; rel="next"
            
            Show
            vivek Vivek Pandey added a comment - Maybe short term of 500 is fine. '/nodes/:id/steps/?start=0&limit=500' would fetch 0 to 500 on first and then on subsequent requests client can look at Link HTTP header, fetch next and simply use it. For example: https: //ci.blueocean.io/blue/ rest /organizations/jenkins/pipelines/i386/pipelines/app-store-demo/master/runs/1/nodes/11/steps/?start=0&limit=2 HTTP link Header: link:</blue/ rest /organizations/jenkins/pipelines/i386/pipelines/app-store-demo/master/runs/1/nodes/11/steps/?start=2&limit=2>; rel= "next"
            Hide
            michaelneale Michael Neale added a comment -

            James Dumay right - so we can bump some limit, but need to know what it would look like in future for these cases. I really don't think 500 dots across by 500 down is a great UX - but we can at least render something. 

             

            I am sure there is a longer term solution out there. 

            Show
            michaelneale Michael Neale added a comment - James Dumay right - so we can bump some limit, but need to know what it would look like in future for these cases. I really don't think 500 dots across by 500 down is a great UX - but we can at least render something.    I am sure there is a longer term solution out there. 
            Hide
            jamesdumay James Dumay added a comment -

            Michael Neale certainly we need to figure out what a practical limit is for how many nodes to display. There is a design TODO for that in the backlog.

            Show
            jamesdumay James Dumay added a comment - Michael Neale certainly we need to figure out what a practical limit is for how many nodes to display. There is a design TODO for that in the backlog.
            Hide
            michaelneale Michael Neale added a comment -

            OK - lets keep the scope of this to do with increasing the limit for nodes - I will open another ticket for loading more steps as that can use pagination.  

            Show
            michaelneale Michael Neale added a comment - OK - lets keep the scope of this to do with increasing the limit for nodes - I will open another ticket for loading more steps as that can use pagination.  

              People

              • Assignee:
                tscherler Thorsten Scherler
                Reporter:
                tscherler Thorsten Scherler
              • Votes:
                1 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: