mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
fix: exclude deleted templates from metrics collection (#17839)
Also add some clarification about the lack of database constraints for soft template deletion. --------- Signed-off-by: Danny Kopping <dannykopping@gmail.com> Co-authored-by: Danny Kopping <dannykopping@gmail.com>
This commit is contained in:
co-authored by
Danny Kopping
parent
f2edcf3f59
commit
2aa8cbebd7
@@ -15,6 +15,7 @@ WHERE w.id IN (
|
||||
AND b.template_version_id = t.active_version_id
|
||||
AND p.current_preset_id = @preset_id::uuid
|
||||
AND p.ready
|
||||
AND NOT t.deleted
|
||||
LIMIT 1 FOR UPDATE OF p SKIP LOCKED -- Ensure that a concurrent request will not select the same prebuild.
|
||||
)
|
||||
RETURNING w.id, w.name;
|
||||
@@ -40,6 +41,7 @@ FROM templates t
|
||||
INNER JOIN template_version_presets tvp ON tvp.template_version_id = tv.id
|
||||
INNER JOIN organizations o ON o.id = t.organization_id
|
||||
WHERE tvp.desired_instances IS NOT NULL -- Consider only presets that have a prebuild configuration.
|
||||
-- AND NOT t.deleted -- We don't exclude deleted templates because there's no constraint in the DB preventing a soft deletion on a template while workspaces are running.
|
||||
AND (t.id = sqlc.narg('template_id')::uuid OR sqlc.narg('template_id') IS NULL);
|
||||
|
||||
-- name: GetRunningPrebuiltWorkspaces :many
|
||||
@@ -70,6 +72,7 @@ FROM workspace_latest_builds wlb
|
||||
-- prebuilds that are still building.
|
||||
INNER JOIN templates t ON t.active_version_id = wlb.template_version_id
|
||||
WHERE wlb.job_status IN ('pending'::provisioner_job_status, 'running'::provisioner_job_status)
|
||||
-- AND NOT t.deleted -- We don't exclude deleted templates because there's no constraint in the DB preventing a soft deletion on a template while workspaces are running.
|
||||
GROUP BY t.id, wpb.template_version_id, wpb.transition, wlb.template_version_preset_id;
|
||||
|
||||
-- GetPresetsBackoff groups workspace builds by preset ID.
|
||||
@@ -98,6 +101,7 @@ WITH filtered_builds AS (
|
||||
WHERE tvp.desired_instances IS NOT NULL -- Consider only presets that have a prebuild configuration.
|
||||
AND wlb.transition = 'start'::workspace_transition
|
||||
AND w.owner_id = 'c42fdf75-3097-471c-8c33-fb52454d81c0'
|
||||
AND NOT t.deleted
|
||||
),
|
||||
time_sorted_builds AS (
|
||||
-- Group builds by preset, then sort each group by created_at.
|
||||
|
||||
Reference in New Issue
Block a user