console icon indicating copy to clipboard operation
console copied to clipboard

OCPBUGS-23480: Improve PipelineRun list view performance

Open lokanandaprabhu opened this issue 1 year ago • 10 comments

Fixes: https://issues.redhat.com/browse/OCPBUGS-30575

Analysis / Root cause: 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.

Solution Description: Fetching TaskRuns only for Failed and Cancelled PipelineRuns. Now TaskRuns status will be calculated from the message value in 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

Screen shots / Gifs for design review:

NA

Unit test coverage report:

    ✓ should expect getPipelineRunStatus to return taskruns status object with 1 Succeeded, 1 Failed and 1 Skipped for Cancelled status
    ✓ should expect getPipelineRunStatus to return taskruns status object with 2 Succeeded for Succeeded status (1ms)
    ✓ should expect getPipelineRunStatus to return taskruns status object with 1 Failed for Failed status
    ✓ should expect getPipelineRunStatus to return taskruns status object all 0 values for cancelled status

Test setup:

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

Browser conformance:

  • [x] Chrome
  • [ ] Firefox
  • [ ] Safari
  • [ ] Edge

lokanandaprabhu avatar Mar 15 '24 12:03 lokanandaprabhu

@lokanandaprabhu: This pull request references Jira Issue OCPBUGS-23480, which is invalid:

  • expected the bug to target the "4.16.0" version, but no target version was set

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

The bug has been updated to refer to the pull request using the external bug tracker.

In response to this:

Fixes: https://issues.redhat.com/browse/OCPBUGS-30575

Analysis / Root cause: 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.

Solution Description: Fetching TaskRuns only for Failed and Cancelled PipelineRuns. Now TaskRuns status will be calculated from the message value in 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

Screen shots / Gifs for design review:

NA

Unit test coverage report:

   ✓ should expect getPipelineRunStatus to return taskruns status object with 1 Succeeded, 1 Failed and 1 Skipped for Cancelled status
   ✓ should expect getPipelineRunStatus to return taskruns status object with 2 Succeeded for Succeeded status (1ms)
   ✓ should expect getPipelineRunStatus to return taskruns status object with 1 Failed for Failed status
   ✓ should expect getPipelineRunStatus to return taskruns status object all 0 values for cancelled status

Test setup:

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

Browser conformance:

  • [x] Chrome
  • [ ] Firefox
  • [ ] Safari
  • [ ] Edge

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

openshift-ci-robot avatar Mar 15 '24 12:03 openshift-ci-robot

/cc @vikram-raj @karthikjeeyar

lokanandaprabhu avatar Mar 15 '24 12:03 lokanandaprabhu

/retest

christoph-jerolimov avatar Mar 19 '24 23:03 christoph-jerolimov

/jira refresh

vikram-raj avatar Mar 20 '24 06:03 vikram-raj

@vikram-raj: This pull request references Jira Issue OCPBUGS-23480, which is valid. The bug has been moved to the POST state.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.16.0) matches configured target version for branch (4.16.0)
  • bug is in the state New, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact: /cc @sanketpathak

In response to this:

/jira refresh

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

openshift-ci-robot avatar Mar 20 '24 06:03 openshift-ci-robot

/retest

lokanandaprabhu avatar Mar 20 '24 15:03 lokanandaprabhu

/label acknowledge-critical-fixes-only /cherry-pick release-4.15

christoph-jerolimov avatar Mar 20 '24 21:03 christoph-jerolimov

@jerolimov: once the present PR merges, I will cherry-pick it on top of release-4.15 in a new PR and assign it to you.

In response to this:

/label acknowledge-critical-fixes-only /cherry-pick release-4.15

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Updated the PR. PTAL.

lokanandaprabhu avatar Apr 01 '24 09:04 lokanandaprabhu

/retest

lokanandaprabhu avatar Apr 02 '24 11:04 lokanandaprabhu

/lgtm

karthikjeeyar avatar Apr 04 '24 05:04 karthikjeeyar

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: karthikjeeyar, lokanandaprabhu

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment Approvers can cancel approval by writing /approve cancel in a comment

openshift-ci[bot] avatar Apr 04 '24 05:04 openshift-ci[bot]

/retest-required

Remaining retests: 0 against base HEAD e1aad9ec529b102f525017ee3015ef07c84ef238 and 2 for PR HEAD 0c2c957026714033dc5243de1efcd86e9bc55af1 in total

openshift-ci-robot avatar Apr 04 '24 09:04 openshift-ci-robot

/retest

lokanandaprabhu avatar Apr 04 '24 10:04 lokanandaprabhu

/retest

lokanandaprabhu avatar Apr 04 '24 10:04 lokanandaprabhu

/retest

lokanandaprabhu avatar Apr 04 '24 11:04 lokanandaprabhu

/retest-required

Remaining retests: 0 against base HEAD 73b0dd380e619a65018ad00d76776d190cce3fb3 and 1 for PR HEAD 0c2c957026714033dc5243de1efcd86e9bc55af1 in total

openshift-ci-robot avatar Apr 04 '24 14:04 openshift-ci-robot

/retest

lokanandaprabhu avatar Apr 04 '24 14:04 lokanandaprabhu

/retest

lokanandaprabhu avatar Apr 05 '24 04:04 lokanandaprabhu

@lokanandaprabhu: all tests passed!

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

openshift-ci[bot] avatar Apr 05 '24 05:04 openshift-ci[bot]

@lokanandaprabhu: Jira Issue OCPBUGS-23480: All pull requests linked via external trackers have merged:

Jira Issue OCPBUGS-23480 has been moved to the MODIFIED state.

In response to this:

Fixes: https://issues.redhat.com/browse/OCPBUGS-30575

Analysis / Root cause: 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.

Solution Description: Fetching TaskRuns only for Failed and Cancelled PipelineRuns. Now TaskRuns status will be calculated from the message value in 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

Screen shots / Gifs for design review:

NA

Unit test coverage report:

   ✓ should expect getPipelineRunStatus to return taskruns status object with 1 Succeeded, 1 Failed and 1 Skipped for Cancelled status
   ✓ should expect getPipelineRunStatus to return taskruns status object with 2 Succeeded for Succeeded status (1ms)
   ✓ should expect getPipelineRunStatus to return taskruns status object with 1 Failed for Failed status
   ✓ should expect getPipelineRunStatus to return taskruns status object all 0 values for cancelled status

Test setup:

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

Browser conformance:

  • [x] Chrome
  • [ ] Firefox
  • [ ] Safari
  • [ ] Edge

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

openshift-ci-robot avatar Apr 05 '24 05:04 openshift-ci-robot

@jerolimov: new pull request created: #13731

In response to this:

/label acknowledge-critical-fixes-only /cherry-pick release-4.15

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

[ART PR BUILD NOTIFIER]

This PR has been included in build openshift-enterprise-console-container-v4.16.0-202404050447.p0.gb39c4f3.assembly.stream.el9 for distgit openshift-enterprise-console. All builds following this will include this PR.

openshift-bot avatar Apr 05 '24 10:04 openshift-bot

Fix included in accepted release 4.16.0-0.nightly-2024-04-05-200353

openshift-merge-robot avatar Apr 06 '24 02:04 openshift-merge-robot