Uploaded image for project: 'OpenShift Bugs'
  1. OpenShift Bugs
  2. OCPBUGS-31799

Improve PipelineRun list view performance

XMLWordPrintable

    • No
    • ODC Sprint 3255
    • 1
    • False
    • Hide

      None

      Show
      None
    • Hide
      In PipelineRun List page, all the TaskRuns were fetched and separated based on pipelineRun name. With this change, TaskRuns are fetched only for Failed and Cancelled PipelineRun and caching mechanism is added to fetch PipelineRuns and TaskRuns associated to the failed and cancelled PipelineRuns
      Show
      In PipelineRun List page, all the TaskRuns were fetched and separated based on pipelineRun name. With this change, TaskRuns are fetched only for Failed and Cancelled PipelineRun and caching mechanism is added to fetch PipelineRuns and TaskRuns associated to the failed and cancelled PipelineRuns

      This is a clone of issue OCPBUGS-23480. The following is the description of the original issue:

      Description of problem:

      PipelineRun list view contains Task status column, which shows the overall task status of the pipelinerurn. Inorder to render this column we fetch all the tasksruns of that pipelinerun.  Every pipelinerun row will have to have all the related TaskRuns information, which is causing performance issue in the pipelinerun list view.

      Customer is facing issue of UI slowness and rendering problem for large number of pipelineruns with and without results enabled. In both cases, there is significant slowness being observed which is hampering their daily operations.

      How reproducible:

      Always

      Steps to Reproduce:

      1. Create few pipelineruns
      2. Navigate to pipelineruns list view
      

      Actual results:

      All the Taskruns are being fetched and the pipelinerun list view renders this column  asynchronously with loading indicator.

       

      Expected results:

      Taskruns should not be fetched at all, rather UI need to parse the `` string to render this column.

      Additional info:

      Pipelinerun status message gets updated on every task completion.

      pipelinerun.status.conditions:

      • lastTransitionTime: '2023-11-15T07:51:42Z'
        message: 'Tasks Completed: 3 (Failed: 0, Cancelled 0), Skipped: 0'
        reason: Succeeded
        status: 'True'
        type: Succeeded

      we can parse the above information to derive the following object and use this for rendering the column,  this will increase the performance of this page hugely. 

      {
       completed: 3, // 3 (total count) - 0 (failed count) - 0 (cancelled count),
       failed: 0,
       cancelled: 0,
       skipped: 0,
       pending: 0 
      }

       

       

      Slack thread for more details - thread

              rh-ee-lprabhu Lokananda Prabhu
              openshift-crt-jira-prow OpenShift Prow Bot
              Sanket Pathak Sanket Pathak
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: