Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix watcher queue initialisation on concurrency #1791

Conversation

chmouel
Copy link
Member

@chmouel chmouel commented Oct 21, 2024

Resolved an issue where pipelineRuns were being added to the queue instead of the running queue during the initialization of the queue manager. Introduced a new method, AddToPendingQueue, to add pipelineRuns directly to the pending queue without mixing them with the running queue.

Fixes #1790

See video below for a demo

recording-20241021-17h17.mp4

Changes

Submitter Checklist

  • 📝 Please ensure your commit message is clear and informative. For guidance on crafting effective commit messages, refer to the How to write a git commit message guide. We prefer the commit message to be included in the PR body itself rather than a link to an external website (ie: Jira ticket).

  • ♽ Before submitting a PR, run make test lint to avoid unnecessary CI processing. For an even more efficient workflow, consider installing pre-commit and running pre-commit install in the root of this repository.

  • ✨ We use linters to maintain clean and consistent code. Please ensure you've run make lint before submitting a PR. Some linters offer a --fix mode, which can be executed with the command make fix-linters (ensure markdownlint and golangci-lint tools are installed first).

  • 📖 If you're introducing a user-facing feature or changing existing behavior, please ensure it's properly documented.

  • 🧪 While 100% coverage isn't a requirement, we encourage unit tests for any code changes where possible.

  • 🎁 If feasible, please check if an end-to-end test can be added. See README for more details.

  • 🔎 If there's any flakiness in the CI tests, don't necessarily ignore it. It's better to address the issue before merging, or provide a valid reason to bypass it if fixing isn't possible (e.g., token rate limitations).

Copy link

codecov bot commented Oct 21, 2024

Codecov Report

Attention: Patch coverage is 83.33333% with 5 lines in your changes missing coverage. Please review.

Project coverage is 64.95%. Comparing base (339f294) to head (052c102).
Report is 5 commits behind head on main.

Files with missing lines Patch % Lines
pkg/sync/queue_manager.go 76.47% 2 Missing and 2 partials ⚠️
pkg/reconciler/queue_pipelineruns.go 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1791      +/-   ##
==========================================
+ Coverage   64.91%   64.95%   +0.04%     
==========================================
  Files         175      175              
  Lines       13363    13387      +24     
==========================================
+ Hits         8675     8696      +21     
- Misses       4108     4110       +2     
- Partials      580      581       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

pkg/sync/queue_manager.go Outdated Show resolved Hide resolved
@chmouel chmouel force-pushed the issue-1790-pac-concurrency-scheduler-dont-clear-up-existing-pen branch from 5b742f4 to 13f285b Compare October 22, 2024 10:17
@chmouel
Copy link
Member Author

chmouel commented Oct 22, 2024

Added e2e test, which seems to work properly!

Resolved an issue where pipelineRuns were being added to the queue
instead of the running queue during the initialization of the queue
manager. Introduced a new method, AddToPendingQueue, to add pipelineRuns
directly to the pending queue without mixing them with the running queue.

Fixes openshift-pipelines#1790

Signed-off-by: Chmouel Boudjnah <chmouel@redhat.com>
Add a new test that will test that when the watcher is down and a PR is
created, the PipelineRuns are kept in Pending state. When the watcher is
up again, the PipelineRuns are restarted.

Some refactoring has been done to move some functions to their own.

Signed-off-by: Chmouel Boudjnah <chmouel@redhat.com>
@chmouel chmouel force-pushed the issue-1790-pac-concurrency-scheduler-dont-clear-up-existing-pen branch from 13f285b to 052c102 Compare October 22, 2024 11:35
@chmouel chmouel merged commit 316b3bc into openshift-pipelines:main Oct 24, 2024
4 checks passed
@chmouel chmouel deleted the issue-1790-pac-concurrency-scheduler-dont-clear-up-existing-pen branch October 24, 2024 08:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

pac concurrency scheduler don't clear up existing Pending PipelineRuns
3 participants