Skip to content

fix(coderd/database): consider tag sets when calculating queue position #16685

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

Merged
merged 20 commits into from
Mar 3, 2025
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
1e35c53
fix(coderd/database): remove linux build tags from db package
evgeniy-scherbina Feb 19, 2025
5c49221
fix(coderd/database): consider tag sets when calculating queue position
evgeniy-scherbina Feb 20, 2025
4257ca0
test(coderd/database): skip tests when PostgreSQL is unavailable
evgeniy-scherbina Feb 25, 2025
30f007c
test(coderd/database): create default provisioner in tests
evgeniy-scherbina Feb 25, 2025
acb93ac
fix(coderd/database): correctly calculate pending and ranked jobs
evgeniy-scherbina Feb 26, 2025
5aa0ffa
test(coderd/database): improve test coverage
evgeniy-scherbina Feb 26, 2025
c1f421d
refactor(coderd/database): use empty tag sets
evgeniy-scherbina Feb 26, 2025
e7693ee
test(coderd/database): improve test coverage
evgeniy-scherbina Feb 27, 2025
a9ed7d2
test(coderd/database): wrap test cases in subtests
evgeniy-scherbina Feb 27, 2025
574cdf6
refactor(coderd/database): minor refactoring in tests
evgeniy-scherbina Feb 27, 2025
8b3446e
fix(coderd/database): linter
evgeniy-scherbina Feb 27, 2025
c4316fd
refactor(coderd/database): use job_status generated column
evgeniy-scherbina Feb 27, 2025
b4ea4db
perf: add index on provisioner_jobs table for status field
evgeniy-scherbina Feb 27, 2025
675b3e9
Merge remote-tracking branch 'origin/main' into 15843-queue-position
evgeniy-scherbina Feb 28, 2025
1f8e4e3
fix(coderd/database): increment migration number
evgeniy-scherbina Feb 28, 2025
f9c9711
fix(coderd/database): update dump.sql
evgeniy-scherbina Feb 28, 2025
61a9f58
perf: optimize get-queue-position sql query
evgeniy-scherbina Feb 28, 2025
4f77f67
chore: update dbmem
evgeniy-scherbina Feb 28, 2025
359a9e0
Merge remote-tracking branch 'origin/main' into 15843-queue-position
evgeniy-scherbina Mar 3, 2025
6f4da84
fix(coderd/database): increment migration number
evgeniy-scherbina Mar 3, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
perf: optimize get-queue-position sql query
  • Loading branch information
evgeniy-scherbina committed Feb 28, 2025
commit 61a9f58e788d2d9e4d7737b01d24755cb3e43ab9
11 changes: 7 additions & 4 deletions coderd/database/queries.sql.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 7 additions & 4 deletions coderd/database/queries/provisionerjobs.sql
Original file line number Diff line number Diff line change
Expand Up @@ -53,17 +53,20 @@ WHERE
WITH filtered_provisioner_jobs AS (
-- Step 1: Filter provisioner_jobs
SELECT
*
id, created_at
FROM
provisioner_jobs
WHERE
id = ANY(@ids :: uuid [ ]) -- Apply filter early to reduce dataset size before expensive JOIN
),
pending_jobs AS (
-- Step 2: Extract only pending jobs
SELECT *
FROM provisioner_jobs
WHERE job_status = 'pending'
SELECT
id, created_at, tags
FROM
provisioner_jobs
WHERE
job_status = 'pending'
),
ranked_jobs AS (
-- Step 3: Rank only pending jobs based on provisioner availability
Expand Down
Loading