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

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

    XMLWordPrintable

Details

    • iapetus, 1.0

    Description

      tscherler 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)

       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

            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.  

            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.  
            jamesdumay James Dumay added a comment -

            michaelneale 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.

            jamesdumay James Dumay added a comment - michaelneale 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.
            michaelneale Michael Neale added a comment -

            jamesdumay 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. 

            michaelneale Michael Neale added a comment - jamesdumay 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. 
            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"
            
            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"
            jamesdumay James Dumay added a comment -

            Closing this as a duplicate of JENKINS-39770.

            jamesdumay James Dumay added a comment - Closing this as a duplicate of JENKINS-39770 .

            People

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

              Dates

                Created:
                Updated:
                Resolved: